#include "gnunet_common.h"
#include "gnunet_messenger_service.h"
#include "gnunet-service-messenger.h"
#include "gnunet_reclaim_service.h"
#include "gnunet_time_lib.h"
#include "messenger_api.h"
#include "messenger_api_contact.h"
#include "messenger_api_contact_store.h"
#include "messenger_api_handle.h"
#include "messenger_api_message.h"
#include "messenger_api_message_control.h"
#include "messenger_api_message_kind.h"
#include "messenger_api_room.h"
#include "messenger_api_util.h"
Go to the source code of this file.
Data Structures | |
struct | GNUNET_MESSENGER_RoomFind |
Functions | |
const char * | GNUNET_MESSENGER_name_of_kind (enum GNUNET_MESSENGER_MessageKind kind) |
Get the name of a message kind. More... | |
static void | dequeue_messages_from_room (struct GNUNET_MESSENGER_Room *room) |
static void | handle_room_open (void *cls, const struct GNUNET_MESSENGER_RoomMessage *msg) |
static void | handle_room_entry (void *cls, const struct GNUNET_MESSENGER_RoomMessage *msg) |
static void | handle_room_close (void *cls, const struct GNUNET_MESSENGER_RoomMessage *msg) |
static void | handle_room_sync (void *cls, const struct GNUNET_MESSENGER_RoomMessage *msg) |
static void | handle_member_id (void *cls, const struct GNUNET_MESSENGER_MemberMessage *msg) |
static enum GNUNET_GenericReturnValue | check_recv_message (void *cls, const struct GNUNET_MESSENGER_RecvMessage *msg) |
static void | handle_recv_message (void *cls, const struct GNUNET_MESSENGER_RecvMessage *msg) |
static void | handle_miss_message (void *cls, const struct GNUNET_MESSENGER_GetMessage *msg) |
static void | reconnect (struct GNUNET_MESSENGER_Handle *handle) |
static void | send_open_room (struct GNUNET_MESSENGER_Handle *handle, struct GNUNET_MESSENGER_Room *room) |
static void | send_enter_room (struct GNUNET_MESSENGER_Handle *handle, struct GNUNET_MESSENGER_Room *room, const struct GNUNET_PeerIdentity *door) |
static void | send_close_room (struct GNUNET_MESSENGER_Handle *handle, struct GNUNET_MESSENGER_Room *room) |
static void | send_sync_room (struct GNUNET_MESSENGER_Handle *handle, struct GNUNET_MESSENGER_Room *room) |
static enum GNUNET_GenericReturnValue | iterate_reset_room (void *cls, const struct GNUNET_HashCode *key, void *value) |
static void | callback_reconnect (void *cls) |
static enum GNUNET_GenericReturnValue | iterate_close_room (void *cls, const struct GNUNET_HashCode *key, void *value) |
static void | callback_mq_error (void *cls, enum GNUNET_MQ_Error error) |
struct GNUNET_MESSENGER_Handle * | GNUNET_MESSENGER_connect (const struct GNUNET_CONFIGURATION_Handle *cfg, const char *name, const struct GNUNET_CRYPTO_PrivateKey *key, GNUNET_MESSENGER_MessageCallback msg_callback, void *msg_cls) |
Set up a handle for the messenger related functions and connects to all necessary services. More... | |
void | GNUNET_MESSENGER_disconnect (struct GNUNET_MESSENGER_Handle *handle) |
Disconnect all of the messengers used services and clears up its used memory. More... | |
static void | callback_leave_message_sent (void *cls) |
static void | keep_subscription_alive (void *cls) |
static void | handle_discourse_subscription (struct GNUNET_MESSENGER_Room *room, struct GNUNET_MESSENGER_Message *message) |
static void | send_message_to_room (struct GNUNET_MESSENGER_Room *room, struct GNUNET_MESSENGER_Message *message, const struct GNUNET_CRYPTO_PrivateKey *key, struct GNUNET_HashCode *hash) |
void | enqueue_message_to_room (struct GNUNET_MESSENGER_Room *room, struct GNUNET_MESSENGER_Message *message, struct GNUNET_MESSENGER_Message *transcript) |
static void | dequeue_message_from_room (void *cls) |
const char * | GNUNET_MESSENGER_get_name (const struct GNUNET_MESSENGER_Handle *handle) |
Get the name (if specified, otherwise NULL) used by the messenger. More... | |
static enum GNUNET_GenericReturnValue | iterate_send_name_to_room (void *cls, struct GNUNET_MESSENGER_Room *room, const struct GNUNET_MESSENGER_Contact *contact) |
enum GNUNET_GenericReturnValue | GNUNET_MESSENGER_set_name (struct GNUNET_MESSENGER_Handle *handle, const char *name) |
Set the name for the messenger handle and sends messages renaming your contact in currently open rooms. More... | |
static const struct GNUNET_CRYPTO_PublicKey * | get_non_anonymous_key (const struct GNUNET_CRYPTO_PublicKey *public_key) |
const struct GNUNET_CRYPTO_PublicKey * | GNUNET_MESSENGER_get_key (const struct GNUNET_MESSENGER_Handle *handle) |
Get the public key used by the messenger or NULL if the anonymous key was used. More... | |
static enum GNUNET_GenericReturnValue | iterate_send_key_to_room (void *cls, struct GNUNET_MESSENGER_Room *room, const struct GNUNET_MESSENGER_Contact *contact) |
enum GNUNET_GenericReturnValue | GNUNET_MESSENGER_set_key (struct GNUNET_MESSENGER_Handle *handle, const struct GNUNET_CRYPTO_PrivateKey *key) |
Set the private key used by the messenger or NULL if the anonymous key should be used instead. More... | |
struct GNUNET_MESSENGER_Room * | GNUNET_MESSENGER_open_room (struct GNUNET_MESSENGER_Handle *handle, const struct GNUNET_HashCode *key) |
Open a room to send and receive messages. More... | |
struct GNUNET_MESSENGER_Room * | GNUNET_MESSENGER_enter_room (struct GNUNET_MESSENGER_Handle *handle, const struct GNUNET_PeerIdentity *door, const struct GNUNET_HashCode *key) |
Enter a room to send and receive messages through a door opened using GNUNET_MESSENGER_open_room. More... | |
void | GNUNET_MESSENGER_close_room (struct GNUNET_MESSENGER_Room *room) |
Close a room which was entered, opened or both in various order and variety. More... | |
static enum GNUNET_GenericReturnValue | iterate_find_room (void *cls, const struct GNUNET_HashCode *key, void *value) |
int | GNUNET_MESSENGER_find_rooms (const struct GNUNET_MESSENGER_Handle *handle, const struct GNUNET_MESSENGER_Contact *contact, GNUNET_MESSENGER_MemberCallback callback, void *cls) |
Searches for a specific contact in a given room and calls a selected callback with a given closure for each of them containing the contact as a member. More... | |
const struct GNUNET_HashCode * | GNUNET_MESSENGER_room_get_key (const struct GNUNET_MESSENGER_Room *room) |
Get the key of a given room. More... | |
const struct GNUNET_MESSENGER_Contact * | GNUNET_MESSENGER_get_sender (const struct GNUNET_MESSENGER_Room *room, const struct GNUNET_HashCode *hash) |
Get the contact of a member in a room which sent a specific message identified with a given hash. More... | |
const struct GNUNET_MESSENGER_Contact * | GNUNET_MESSENGER_get_recipient (const struct GNUNET_MESSENGER_Room *room, const struct GNUNET_HashCode *hash) |
Get the contact of a member in a room which has been targeted as recipient of a specific message identified with a given hash. More... | |
const char * | GNUNET_MESSENGER_contact_get_name (const struct GNUNET_MESSENGER_Contact *contact) |
Get the name used by the contact. More... | |
const struct GNUNET_CRYPTO_PublicKey * | GNUNET_MESSENGER_contact_get_key (const struct GNUNET_MESSENGER_Contact *contact) |
Get the public key used by the contact or NULL if the anonymous key was used. More... | |
size_t | GNUNET_MESSENGER_contact_get_id (const struct GNUNET_MESSENGER_Contact *contact) |
Get the locally unique id of the contact. More... | |
static void | send_message_to_room_with_key (struct GNUNET_MESSENGER_Room *room, struct GNUNET_MESSENGER_Message *message, const struct GNUNET_CRYPTO_PublicKey *public_key) |
void | GNUNET_MESSENGER_send_message (struct GNUNET_MESSENGER_Room *room, const struct GNUNET_MESSENGER_Message *message, const struct GNUNET_MESSENGER_Contact *contact) |
Send a message into a room. More... | |
void | GNUNET_MESSENGER_delete_message (struct GNUNET_MESSENGER_Room *room, const struct GNUNET_HashCode *hash, const struct GNUNET_TIME_Relative delay) |
Delete a message identified by its hash from a room. More... | |
const struct GNUNET_MESSENGER_Message * | GNUNET_MESSENGER_get_message (const struct GNUNET_MESSENGER_Room *room, const struct GNUNET_HashCode *hash) |
Get the message in a room identified by its hash. More... | |
int | GNUNET_MESSENGER_iterate_members (struct GNUNET_MESSENGER_Room *room, GNUNET_MESSENGER_MemberCallback callback, void *cls) |
Iterates through all members of a given room and calls a selected callback for each of them with a provided closure. More... | |
|
static |
Definition at line 1036 of file messenger_api.c.
References dequeue_message_from_room(), GNUNET_SCHEDULER_add_with_priority(), GNUNET_SCHEDULER_PRIORITY_HIGH, GNUNET_YES, GNUNET_MESSENGER_Room::handle, is_room_available(), GNUNET_MESSENGER_Handle::mq, and GNUNET_MESSENGER_Room::queue_task.
Referenced by enqueue_message_to_room(), handle_room_entry(), handle_room_open(), and handle_room_sync().
|
static |
Definition at line 100 of file messenger_api.c.
References dequeue_messages_from_room(), get_handle_room(), GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_log, handle, key, msg, open_handle_room(), and update_room_last_message().
|
static |
Definition at line 129 of file messenger_api.c.
References dequeue_messages_from_room(), entry_handle_room_at(), get_handle_room(), GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_log, handle, key, msg, and update_room_last_message().
|
static |
Definition at line 160 of file messenger_api.c.
References close_handle_room(), get_handle_room(), GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_log, handle, key, msg, and update_room_last_message().
|
static |
Definition at line 186 of file messenger_api.c.
References dequeue_messages_from_room(), get_handle_room(), GNUNET_assert, GNUNET_NO, handle, key, msg, update_room_last_message(), and GNUNET_MESSENGER_Room::wait_for_sync.
|
static |
Definition at line 213 of file messenger_api.c.
References create_message_id(), create_message_join(), enqueue_message_to_room(), get_handle_key(), get_handle_room(), get_room_sender_id(), GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_ERROR_TYPE_WARNING, GNUNET_h2s(), GNUNET_log, GNUNET_YES, handle, id, key, msg, reset, and set_room_sender_id().
|
static |
Definition at line 258 of file messenger_api.c.
References cleanup_message(), decode_message(), get_message_kind_size(), GNUNET_assert, GNUNET_ERROR_TYPE_ERROR, GNUNET_log, GNUNET_MESSENGER_KIND_UNKNOWN, GNUNET_NO, GNUNET_OK, GNUNET_YES, msg, and GNUNET_MessageHeader::size.
|
static |
Definition at line 300 of file messenger_api.c.
References cleanup_message(), context, GNUNET_MESSENGER_Room::control, decode_message(), get_handle_room(), GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_h2s_full(), GNUNET_log, GNUNET_MESSENGER_name_of_kind(), GNUNET_YES, handle, GNUNET_MESSENGER_Message::header, key, GNUNET_MESSENGER_MessageHeader::kind, msg, process_message_control(), and GNUNET_MessageHeader::size.
|
static |
Definition at line 359 of file messenger_api.c.
References create_message_request(), enqueue_message_to_room(), get_handle_room(), get_room_sender_id(), GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_log, handle, key, and msg.
|
static |
Definition at line 623 of file messenger_api.c.
References callback_mq_error(), GNUNET_VPN_Handle::cfg, GNUNET_assert, GNUNET_CLIENT_connect(), GNUNET_MESSAGE_TYPE_MESSENGER_CONNECTION_MEMBER_ID, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_CLOSE, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_ENTRY, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_GET_MESSAGE, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_OPEN, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_RECV_MESSAGE, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_SYNC, GNUNET_MESSENGER_SERVICE_NAME, GNUNET_MQ_handler_end, GNUNET_MQ_hd_fixed_size, GNUNET_MQ_hd_var_size, handle, handlers, GNUNET_VPN_Handle::mq, and recv_message().
Referenced by callback_reconnect(), and GNUNET_MESSENGER_connect().
|
static |
Definition at line 404 of file messenger_api.c.
References env, get_handle_pubkey(), GNUNET_assert, GNUNET_CRYPTO_public_key_get_length(), GNUNET_CRYPTO_public_key_to_string(), GNUNET_CRYPTO_write_public_key_to_buffer(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_log, GNUNET_memcpy, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_OPEN, GNUNET_MQ_msg_extra, GNUNET_MQ_send(), handle, key, GNUNET_MESSENGER_Room::key, GNUNET_MESSENGER_Room::last_message, GNUNET_VPN_Handle::mq, and msg.
Referenced by GNUNET_MESSENGER_open_room(), and iterate_reset_room().
|
static |
Definition at line 440 of file messenger_api.c.
References env, get_handle_pubkey(), GNUNET_assert, GNUNET_CRYPTO_public_key_get_length(), GNUNET_CRYPTO_public_key_to_string(), GNUNET_CRYPTO_write_public_key_to_buffer(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_i2s(), GNUNET_log, GNUNET_memcpy, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_ENTRY, GNUNET_MQ_msg_extra, GNUNET_MQ_send(), handle, key, GNUNET_MESSENGER_Room::key, GNUNET_MESSENGER_Room::last_message, GNUNET_VPN_Handle::mq, and msg.
Referenced by GNUNET_MESSENGER_enter_room(), and iterate_reset_room().
|
static |
Definition at line 478 of file messenger_api.c.
References env, GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_log, GNUNET_memcpy, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_CLOSE, GNUNET_MQ_msg, GNUNET_MQ_send(), handle, GNUNET_MESSENGER_Room::key, GNUNET_MESSENGER_Room::last_message, GNUNET_VPN_Handle::mq, and msg.
Referenced by callback_leave_message_sent(), and iterate_close_room().
|
static |
Definition at line 500 of file messenger_api.c.
References env, GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_log, GNUNET_memcpy, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_SYNC, GNUNET_MQ_msg, GNUNET_MQ_send(), GNUNET_YES, handle, GNUNET_MESSENGER_Room::key, GNUNET_MESSENGER_Room::last_message, GNUNET_VPN_Handle::mq, msg, and GNUNET_MESSENGER_Room::wait_for_sync.
Referenced by enqueue_message_to_room().
|
static |
Definition at line 524 of file messenger_api.c.
References GNUNET_MESSENGER_Room::entries, GNUNET_assert, GNUNET_PEER_resolve(), GNUNET_YES, handle, GNUNET_MESSENGER_ListTunnels::head, GNUNET_MESSENGER_ListTunnel::next, GNUNET_MESSENGER_Room::opened, GNUNET_MESSENGER_ListTunnel::peer, send_enter_room(), send_open_room(), and value.
Referenced by callback_reconnect().
|
static |
Definition at line 556 of file messenger_api.c.
References GNUNET_assert, GNUNET_CONTAINER_multihashmap_iterate(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_log, GNUNET_TIME_STD_BACKOFF, handle, iterate_reset_room(), and reconnect().
Referenced by callback_mq_error().
|
static |
Definition at line 577 of file messenger_api.c.
References GNUNET_assert, GNUNET_YES, handle, send_close_room(), and value.
Referenced by callback_mq_error().
|
static |
Definition at line 596 of file messenger_api.c.
References callback_reconnect(), GNUNET_assert, GNUNET_CONTAINER_multihashmap_iterate(), GNUNET_ERROR_TYPE_ERROR, GNUNET_log, GNUNET_MQ_destroy(), GNUNET_SCHEDULER_add_delayed(), handle, iterate_close_room(), and GNUNET_VPN_Handle::mq.
Referenced by reconnect().
|
static |
Definition at line 733 of file messenger_api.c.
References clear_list_tunnels(), GNUNET_MESSENGER_Room::entries, GNUNET_assert, GNUNET_NO, GNUNET_MESSENGER_Room::handle, GNUNET_MESSENGER_Room::opened, and send_close_room().
Referenced by send_message_to_room().
|
static |
Definition at line 749 of file messenger_api.c.
References GNUNET_MESSENGER_Message::body, destroy_message(), GNUNET_MESSENGER_MessageSubscribe::discourse, enqueue_message_to_room(), GNUNET_assert, GNUNET_CONTAINER_multishortmap_remove(), GNUNET_free, GNUNET_YES, GNUNET_MESSENGER_RoomSubscription::message, GNUNET_MESSENGER_RoomSubscription::room, GNUNET_MESSENGER_MessageBody::subscribe, GNUNET_MESSENGER_Room::subscriptions, and GNUNET_MESSENGER_RoomSubscription::task.
Referenced by handle_discourse_subscription().
|
static |
Definition at line 783 of file messenger_api.c.
References GNUNET_MESSENGER_Message::body, create_message_subscribe(), destroy_message(), GNUNET_MESSENGER_MessageSubscribe::discourse, GNUNET_MESSENGER_MessageSubscribe::flags, GNUNET_assert, GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST, GNUNET_CONTAINER_multishortmap_get(), GNUNET_CONTAINER_multishortmap_put(), GNUNET_CONTAINER_multishortmap_remove(), GNUNET_free, GNUNET_MESSENGER_FLAG_SUBSCRIPTION_KEEP_ALIVE, GNUNET_MESSENGER_FLAG_SUBSCRIPTION_UNSUBSCRIBE, GNUNET_new, GNUNET_OK, GNUNET_SCHEDULER_add_delayed_with_priority(), GNUNET_SCHEDULER_cancel(), GNUNET_SCHEDULER_PRIORITY_HIGH, GNUNET_TIME_relative_multiply_double(), GNUNET_TIME_relative_ntoh(), GNUNET_YES, keep_subscription_alive(), GNUNET_MESSENGER_RoomSubscription::message, GNUNET_MESSENGER_RoomSubscription::room, GNUNET_MESSENGER_MessageBody::subscribe, GNUNET_MESSENGER_Room::subscriptions, GNUNET_MESSENGER_RoomSubscription::task, and GNUNET_MESSENGER_MessageSubscribe::time.
Referenced by send_message_to_room().
|
static |
Definition at line 874 of file messenger_api.c.
References callback_leave_message_sent(), encode_message(), env, get_message_discourse(), get_message_size(), get_room_sender_id(), GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_h2s(), GNUNET_log, GNUNET_memcpy, GNUNET_MESSAGE_TYPE_MESSENGER_ROOM_SEND_MESSAGE, GNUNET_MESSENGER_KIND_LEAVE, GNUNET_MESSENGER_KIND_SUBSCRIBE, GNUNET_MQ_msg_extra, GNUNET_MQ_notify_sent(), GNUNET_MQ_send(), GNUNET_TIME_absolute_get(), GNUNET_TIME_absolute_hton(), GNUNET_YES, GNUNET_MESSENGER_Room::handle, handle_discourse_subscription(), hash_message(), GNUNET_MESSENGER_Message::header, key, GNUNET_MESSENGER_Room::key, GNUNET_MESSENGER_MessageHeader::kind, GNUNET_MESSENGER_Room::last_message, GNUNET_MESSENGER_Handle::mq, msg, GNUNET_MESSENGER_MessageHeader::previous, GNUNET_MESSENGER_MessageHeader::sender_id, sign_message(), GNUNET_MESSENGER_MessageHeader::signature, GNUNET_MESSENGER_MessageHeader::timestamp, GNUNET_CRYPTO_Signature::type, and update_room_last_message().
Referenced by dequeue_message_from_room().
void enqueue_message_to_room | ( | struct GNUNET_MESSENGER_Room * | room, |
struct GNUNET_MESSENGER_Message * | message, | ||
struct GNUNET_MESSENGER_Message * | transcript | ||
) |
Definition at line 937 of file messenger_api.c.
References dequeue_messages_from_room(), enqueue_to_messages(), get_handle_key(), GNUNET_assert, GNUNET_YES, GNUNET_MESSENGER_Room::handle, is_message_session_bound(), is_room_available(), key, GNUNET_MESSENGER_Room::queue, send_sync_room(), and GNUNET_MESSENGER_Room::wait_for_sync.
Referenced by delete_room_message(), GNUNET_MESSENGER_close_room(), handle_member_id(), handle_miss_message(), iterate_send_key_to_room(), iterate_send_name_to_room(), keep_subscription_alive(), and send_message_to_room_with_key().
|
static |
Definition at line 960 of file messenger_api.c.
References GNUNET_MESSENGER_Message::body, dequeue_from_messages(), dequeue_message_from_room(), destroy_message(), encrypt_message(), GNUNET_assert, GNUNET_CRYPTO_key_get_public(), GNUNET_CRYPTO_private_key_clear(), GNUNET_ERROR_TYPE_ERROR, GNUNET_log, GNUNET_memcpy, GNUNET_SCHEDULER_add_with_priority(), GNUNET_SCHEDULER_PRIORITY_HIGH, GNUNET_YES, GNUNET_MESSENGER_Room::handle, GNUNET_MESSENGER_MessageTranscript::hash, GNUNET_MESSENGER_QueueMessages::head, is_room_available(), key, link_room_message(), GNUNET_MESSENGER_Handle::mq, next_message, pubkey, GNUNET_MESSENGER_Room::queue, GNUNET_MESSENGER_Room::queue_task, send_message_to_room(), and GNUNET_MESSENGER_MessageBody::transcript.
Referenced by dequeue_message_from_room(), and dequeue_messages_from_room().
|
static |
Definition at line 1060 of file messenger_api.c.
References create_message_name(), enqueue_message_to_room(), get_handle_name(), GNUNET_assert, GNUNET_NO, GNUNET_YES, handle, name, and GNUNET_MESSENGER_Room::use_handle_name.
Referenced by GNUNET_MESSENGER_set_name().
|
static |
Definition at line 1102 of file messenger_api.c.
References get_anonymous_public_key(), and GNUNET_memcmp.
Referenced by GNUNET_MESSENGER_contact_get_key(), GNUNET_MESSENGER_get_key(), and GNUNET_MESSENGER_send_message().
|
static |
Definition at line 1122 of file messenger_api.c.
References create_message_key(), enqueue_message_to_room(), GNUNET_assert, GNUNET_NO, GNUNET_YES, and key.
Referenced by GNUNET_MESSENGER_set_key().
|
static |
Definition at line 1255 of file messenger_api.c.
References GNUNET_MESSENGER_RoomFind::callback, GNUNET_MESSENGER_RoomFind::cls, GNUNET_MESSENGER_RoomFind::contact, GNUNET_MESSENGER_RoomFind::counter, find_room_member(), GNUNET_assert, GNUNET_NO, GNUNET_YES, and value.
Referenced by GNUNET_MESSENGER_find_rooms().
|
static |
Definition at line 1372 of file messenger_api.c.
References GNUNET_MESSENGER_Message::body, destroy_message(), encrypt_message(), enqueue_message_to_room(), get_handle_name(), get_handle_pubkey(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_ERROR_TYPE_ERROR, GNUNET_free, GNUNET_h2s(), GNUNET_log, GNUNET_memcmp, GNUNET_MESSENGER_KIND_NAME, GNUNET_strdup, GNUNET_YES, GNUNET_MESSENGER_Room::handle, GNUNET_MESSENGER_Message::header, GNUNET_MESSENGER_Room::key, GNUNET_MESSENGER_MessageHeader::kind, GNUNET_MESSENGER_MessageName::name, GNUNET_MESSENGER_MessageBody::name, pubkey, transcribe_message(), and GNUNET_MESSENGER_Room::use_handle_name.
Referenced by GNUNET_MESSENGER_send_message().