functions and structures related to testing-tng More...
#include "platform.h"
#include "gnunet_util_lib.h"
#include "gnunet_transport_communication_service.h"
#include "transport.h"
Go to the source code of this file.
Data Structures | |
struct | GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle |
Handle to a transport communicator. More... | |
functions and structures related to testing-tng
Definition in file transport-testing-communicator.h.
typedef struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *(* GNUNET_TRANSPORT_TESTING_BackchannelCallback) (void *cls, struct GNUNET_MessageHeader *msg, struct GNUNET_PeerIdentity *pid) |
Function signature for callbacks that are called when new backchannel message arrived.
cls | Closure |
msg | Backchannel message |
pid | Target peer |
Definition at line 1 of file transport-testing-communicator.h.
typedef void(* GNUNET_TRANSPORT_TESTING_CommunicatorAvailableCallback) (void *cls, struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h, enum GNUNET_TRANSPORT_CommunicatorCharacteristics cc, char *address_prefix) |
Function signature for callbacks that are called when new communicators become available.
cls | Closure |
tc_h | Communicator handle |
cc | Characteristics of communicator |
address_prefix | Prefix of the address |
Definition at line 66 of file transport-testing-communicator.h.
typedef void(* GNUNET_TRANSPORT_TESTING_AddAddressCallback) (void *cls, struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h, const char *address, struct GNUNET_TIME_Relative expiration, uint32_t aid, enum GNUNET_NetworkType nt) |
Receive information about the address of a communicator.
cls | Closure |
tc_h | Communicator handle |
address | Address represented as string |
expiration | Expiration |
aid | Aid |
nt | Network Type |
Definition at line 87 of file transport-testing-communicator.h.
typedef void(* GNUNET_TRANSPORT_TESTING_QueueCreateReplyCallback) (void *cls, struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h, int will_try) |
Get informed about the success of a queue request.
cls | Closure |
tc_h | Communicator handle |
will_try | GNUNET_YES if communicator will try to create queue |
Definition at line 106 of file transport-testing-communicator.h.
typedef void(* GNUNET_TRANSPORT_TESTING_AddQueueCallback) (void *cls, struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h, struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue *tc_queue, size_t mtu) |
Handle opening of queue.
cls | Closure |
tc_h | Communicator handle |
tc_queue | Handle to newly opened queue |
Definition at line 121 of file transport-testing-communicator.h.
typedef void(* GNUNET_TRANSPORT_TESTING_IncomingMessageCallback) (void *cls, struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle *tc_h, const char *payload, size_t payload_len) |
Handle an incoming message.
cls | Closure |
tc_h | Handle to the receiving communicator |
msg | Received message |
Definition at line 139 of file transport-testing-communicator.h.
struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle * GNUNET_TRANSPORT_TESTING_transport_communicator_service_start | ( | const char * | service_name, |
const char * | binary_name, | ||
const char * | cfg_filename, | ||
const struct GNUNET_PeerIdentity * | peer_id, | ||
GNUNET_TRANSPORT_TESTING_CommunicatorAvailableCallback | communicator_available_cb, | ||
GNUNET_TRANSPORT_TESTING_AddAddressCallback | add_address_cb, | ||
GNUNET_TRANSPORT_TESTING_QueueCreateReplyCallback | queue_create_reply_cb, | ||
GNUNET_TRANSPORT_TESTING_AddQueueCallback | add_queue_cb, | ||
GNUNET_TRANSPORT_TESTING_IncomingMessageCallback | incoming_message_cb, | ||
GNUNET_TRANSPORT_TESTING_BackchannelCallback | bc_cb, | ||
void * | cb_cls | ||
) |
Start communicator part of transport service and communicator.
service_name | Name of the service |
cfg | Configuration handle |
communicator_available | Callback that is called when a new communicator becomes available |
add_address_cb | Callback handling new addresses |
queue_create_reply_cb | Callback handling success of queue requests |
add_queue_cb | Callback handling freshly created queues |
incoming_message_cb | Callback handling incoming messages |
cb_cls | Closure to communicator_available |
service_name | Name of the service |
cfg | Configuration handle |
communicator_available_cb | Callback that is called when a new |
add_address_cb | Callback that is called when a new communicator becomes available |
cb_cls | Closure to communicator_available_cb and |
Definition at line 1040 of file transport-testing-communicator.c.
References _, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::add_address_cb, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::add_queue_cb, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::bc_cb, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::bc_enabled, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::cb_cls, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::cfg, cfg_filename, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::cfg_filename, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::communicator_available_cb, communicator_start(), GNUNET_CONFIGURATION_create(), GNUNET_CONFIGURATION_destroy(), GNUNET_CONFIGURATION_get_value_yesno(), GNUNET_CONFIGURATION_load(), GNUNET_ERROR_TYPE_DEBUG, GNUNET_ERROR_TYPE_ERROR, GNUNET_free, GNUNET_log, GNUNET_new, GNUNET_OS_project_data_gnunet(), GNUNET_strdup, GNUNET_SYSERR, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::incoming_msg_cb, LOG, nat_start(), peer_id, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::peer_id, peerstore_start(), GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::queue_create_reply_cb, resolver_start(), statistics_start(), and transport_communicator_start().
void GNUNET_TRANSPORT_TESTING_transport_communicator_service_stop | ( | struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle * | tc_h | ) |
Definition at line 1105 of file transport-testing-communicator.c.
References GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::c_addr_prefix, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::c_address, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::c_proc, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::cfg, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::cfg_filename, GNUNET_CONFIGURATION_destroy(), GNUNET_CONTAINER_DLL_remove, GNUNET_free, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::nat_proc, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::ps_proc, queue(), GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::queue_head, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::queue_tail, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::resolver_proc, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::sh, shutdown_communicator(), shutdown_nat(), shutdown_peerstore(), shutdown_resolver(), shutdown_service(), shutdown_statistics(), GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::stat_proc, and GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::tc_h.
void GNUNET_TRANSPORT_TESTING_transport_communicator_open_queue | ( | struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle * | tc_h, |
const struct GNUNET_PeerIdentity * | peer_id, | ||
const char * | address | ||
) |
Instruct communicator to open a queue.
tc_h | Handle to communicator which shall open queue |
peer_id | Towards which peer |
address | For which address |
Definition at line 1136 of file transport-testing-communicator.c.
References address, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::c_mq, env, GNUNET_break, GNUNET_CONTAINER_DLL_insert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_free, GNUNET_HELLO_address_to_prefix(), GNUNET_MESSAGE_TYPE_TRANSPORT_QUEUE_CREATE, GNUNET_MQ_msg_extra, GNUNET_MQ_send(), GNUNET_new, LOG, msg, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::open_queue_env, peer_id, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::peer_id, prefix, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::qid, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::queue_head, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::queue_tail, and GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::tc_h.
void GNUNET_TRANSPORT_TESTING_transport_communicator_send | ( | struct GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle * | tc_h, |
GNUNET_SCHEDULER_TaskCallback | cont, | ||
void * | cont_cls, | ||
const void * | payload, | ||
size_t | payload_size | ||
) |
Instruct communicator to send data.
tc_queue | The queue to use for sending |
cont | function to call when done sending |
cont_cls | closure for cont |
payload | Data to send |
payload_size | Size of the payload |
Definition at line 1182 of file transport-testing-communicator.c.
References GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::c_mq, env, GNUNET_assert, GNUNET_ERROR_TYPE_DEBUG, GNUNET_log, GNUNET_MESSAGE_TYPE_DUMMY, GNUNET_MESSAGE_TYPE_TRANSPORT_SEND_MSG, GNUNET_MQ_msg_extra, GNUNET_MQ_notify_sent(), GNUNET_MQ_send(), GNUNET_TRANSPORT_QUEUE_LENGTH_UNLIMITED, LOG, mh, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::mid, msg, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::mtu, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::next, payload, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::peer_id, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::priority, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::q_len, GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::qid, GNUNET_TRANSPORT_TESTING_TransportCommunicatorHandle::queue_head, and GNUNET_TRANSPORT_TESTING_TransportCommunicatorQueue::tc_h.