/*
This file is part of GNUnet.
- (C) 2010 Christian Grothoff (and other contributing authors)
+ Copyright (C) 2010 GNUnet e.V.
GNUnet is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published
You should have received a copy of the GNU General Public License
along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301, USA.
*/
/**
GNUNET_SERVER_MessageTokenizerCallback cb;
/**
- * Closure for cb.
+ * Closure for @e cb.
*/
void *cb_cls;
/**
- * Size of the buffer (starting at 'hdr').
+ * Size of the buffer (starting at @e hdr).
*/
size_t curr_buf;
* Create a message stream tokenizer.
*
* @param cb function to call on completed messages
- * @param cb_cls closure for cb
+ * @param cb_cls closure for @a cb
* @return handle to tokenizer
*/
struct GNUNET_SERVER_MessageStreamTokenizer *
{
struct GNUNET_SERVER_MessageStreamTokenizer *ret;
- ret = GNUNET_malloc (sizeof (struct GNUNET_SERVER_MessageStreamTokenizer));
+ ret = GNUNET_new (struct GNUNET_SERVER_MessageStreamTokenizer);
ret->hdr = GNUNET_malloc (GNUNET_SERVER_MIN_BUFFER_SIZE);
ret->curr_buf = GNUNET_SERVER_MIN_BUFFER_SIZE;
ret->cb = cb;
* @param mst tokenizer to use
* @param client_identity ID of client for which this is a buffer
* @param buf input data to add
- * @param size number of bytes in buf
+ * @param size number of bytes in @a buf
* @param purge should any excess bytes in the buffer be discarded
* (i.e. for packet-based services like UDP)
* @param one_shot only call callback once, keep rest of message in buffer
- * @return GNUNET_OK if we are done processing (need more data)
- * GNUNET_NO if one_shot was set and we have another message ready
- * GNUNET_SYSERR if the data stream is corrupt
+ * @return #GNUNET_OK if we are done processing (need more data)
+ * #GNUNET_NO if @a one_shot was set and we have another message ready
+ * #GNUNET_SYSERR if the data stream is corrupt
*/
int
GNUNET_SERVER_mst_receive (struct GNUNET_SERVER_MessageStreamTokenizer *mst,
- void *client_identity, const char *buf, size_t size,
+ void *client_identity,
+ const char *buf, size_t size,
int purge, int one_shot)
{
const struct GNUNET_MessageHeader *hdr;
delta =
GNUNET_MIN (sizeof (struct GNUNET_MessageHeader) -
(mst->pos - mst->off), size);
- memcpy (&ibuf[mst->pos], buf, delta);
+ GNUNET_memcpy (&ibuf[mst->pos], buf, delta);
mst->pos += delta;
buf += delta;
size -= delta;
{
delta = GNUNET_MIN (want - (mst->pos - mst->off), size);
GNUNET_assert (mst->pos + delta <= mst->curr_buf);
- memcpy (&ibuf[mst->pos], buf, delta);
+ GNUNET_memcpy (&ibuf[mst->pos], buf, delta);
mst->pos += delta;
buf += delta;
size -= delta;
want = ntohs (hdr->size);
if (want < sizeof (struct GNUNET_MessageHeader))
{
- GNUNET_break_op (0);
+ GNUNET_break_op (0);
mst->off = 0;
return GNUNET_SYSERR;
}
mst->curr_buf = size + mst->pos;
}
GNUNET_assert (size + mst->pos <= mst->curr_buf);
- memcpy (&ibuf[mst->pos], buf, size);
+ GNUNET_memcpy (&ibuf[mst->pos], buf, size);
mst->pos += size;
}
if (purge)