Go to the source code of this file.
Data Structures | |
struct | GNUNET_SERVER_MessageStreamTokenizer |
Handle to a message stream tokenizer. More... | |
Macros | |
#define | ALIGN_FACTOR 8 |
Functions | |
struct GNUNET_SERVER_MessageStreamTokenizer * | GNUNET_SERVER_mst_create (GNUNET_SERVER_MessageTokenizerCallback cb, void *cb_cls) |
Create a message stream tokenizer. More... | |
int | GNUNET_SERVER_mst_receive (struct GNUNET_SERVER_MessageStreamTokenizer *mst, void *client_identity, const char *buf, size_t size, int purge, int one_shot) |
Add incoming data to the receive buffer and call the callback for all complete messages. More... | |
void | GNUNET_SERVER_mst_destroy (struct GNUNET_SERVER_MessageStreamTokenizer *mst) |
Destroys a tokenizer. More... | |
#define ALIGN_FACTOR 8 |
Definition at line 34 of file tcp_server_mst_legacy.c.
struct GNUNET_SERVER_MessageStreamTokenizer* GNUNET_SERVER_mst_create | ( | GNUNET_SERVER_MessageTokenizerCallback | cb, |
void * | cb_cls | ||
) |
Create a message stream tokenizer.
cb | function to call on completed messages |
cb_cls | closure for cb |
Definition at line 83 of file tcp_server_mst_legacy.c.
References GNUNET_SERVER_MessageStreamTokenizer::cb, GNUNET_SERVER_MessageStreamTokenizer::cb_cls, GNUNET_malloc, GNUNET_MIN_MESSAGE_SIZE, GNUNET_new, and ret.
Referenced by GNUNET_SERVER_connect_socket().
int GNUNET_SERVER_mst_receive | ( | struct GNUNET_SERVER_MessageStreamTokenizer * | mst, |
void * | client_identity, | ||
const char * | buf, | ||
size_t | size, | ||
int | purge, | ||
int | one_shot | ||
) |
Add incoming data to the receive buffer and call the callback for all complete messages.
mst | tokenizer to use |
client_identity | ID of client for which this is a buffer |
buf | input data to add |
size | number of bytes in buf |
purge | should any excess bytes in the buffer be discarded (i.e. for packet-based services like UDP) |
one_shot | only call callback once, keep rest of message in buffer |
Definition at line 113 of file tcp_server_mst_legacy.c.
References ALIGN_FACTOR, buf, GNUNET_SERVER_MessageStreamTokenizer::cb, GNUNET_SERVER_MessageStreamTokenizer::cb_cls, GNUNET_SERVER_MessageStreamTokenizer::curr_buf, delta, do_align(), GNUNET_assert, GNUNET_break_op, GNUNET_ERROR_TYPE_DEBUG, GNUNET_memcpy, GNUNET_MIN, GNUNET_NO, GNUNET_OK, GNUNET_realloc, GNUNET_SYSERR, GNUNET_YES, GNUNET_SERVER_MessageStreamTokenizer::hdr, LOG, GNUNET_SERVER_MessageStreamTokenizer::off, GNUNET_SERVER_MessageStreamTokenizer::pos, ret, GNUNET_MessageHeader::size, and size.
Referenced by handle_helper_message(), process_data(), process_incoming(), process_mst(), and wlan_data_message_handler().
void GNUNET_SERVER_mst_destroy | ( | struct GNUNET_SERVER_MessageStreamTokenizer * | mst | ) |
Destroys a tokenizer.
mst | tokenizer to destroy |
Definition at line 300 of file tcp_server_mst_legacy.c.
References GNUNET_free, and GNUNET_SERVER_MessageStreamTokenizer::hdr.
Referenced by GNUNET_SERVER_client_disconnect(), and LIBGNUNET_PLUGIN_TRANSPORT_DONE().