check
[oweals/gnunet.git] / src / include / gnunet_server_lib.h
index 9649b177660124bba8812de51f49667ce7d3ac9f..a0097589b5089df6c6b289c026da566822f254dd 100644 (file)
@@ -38,7 +38,6 @@ extern "C"
 
 #include "gnunet_common.h"
 #include "gnunet_connection_lib.h"
-#include "gnunet_scheduler_lib.h"
 
 
 /**
@@ -46,6 +45,10 @@ extern "C"
  */
 #define GNUNET_SERVER_MAX_MESSAGE_SIZE 65536
 
+/**
+ * Largest supported message.
+ */
+#define GNUNET_SERVER_MIN_BUFFER_SIZE sizeof (struct GNUNET_MessageHeader)
 
 /**
  * @brief handle for a server
@@ -111,11 +114,9 @@ struct GNUNET_SERVER_MessageHandler
 /**
  * Create a new server.
  *
- * @param sched scheduler to use
  * @param access function for access control
  * @param access_cls closure for access
  * @param lsocks NULL-terminated array of listen sockets
- * @param maxbuf maximum write buffer size for accepted sockets
  * @param idle_timeout after how long should we timeout idle connections?
  * @param require_found if YES, connections sending messages of unknown type
  *        will be closed
@@ -123,10 +124,8 @@ struct GNUNET_SERVER_MessageHandler
  *         (typically, "port" already in use)
  */
 struct GNUNET_SERVER_Handle *
-GNUNET_SERVER_create_with_sockets (struct GNUNET_SCHEDULER_Handle *sched,
-                                  GNUNET_CONNECTION_AccessCheck access, void *access_cls,
+GNUNET_SERVER_create_with_sockets (GNUNET_CONNECTION_AccessCheck access, void *access_cls,
                                   struct GNUNET_NETWORK_Handle **lsocks,
-                                  size_t maxbuf,
                                   struct GNUNET_TIME_Relative
                                   idle_timeout,
                                   int require_found);
@@ -134,26 +133,20 @@ GNUNET_SERVER_create_with_sockets (struct GNUNET_SCHEDULER_Handle *sched,
 /**
  * Create a new server.
  *
- * @param sched scheduler to use
  * @param access function for access control
  * @param access_cls closure for access
  * @param serverAddr address toes listen on (including port), NULL terminated array
  * @param socklen lengths of respective serverAddr 
- * @param maxbuf maximum write buffer size for accepted sockets
  * @param idle_timeout after how long should we timeout idle connections?
  * @param require_found if YES, connections sending messages of unknown type
  *        will be closed
  * @return handle for the new server, NULL on error
  *         (typically, "port" already in use)
  */
-struct GNUNET_SERVER_Handle *GNUNET_SERVER_create (struct
-                                                   GNUNET_SCHEDULER_Handle
-                                                   *sched,
-                                                   GNUNET_CONNECTION_AccessCheck
+struct GNUNET_SERVER_Handle *GNUNET_SERVER_create (GNUNET_CONNECTION_AccessCheck
                                                    access, void *access_cls,
                                                   struct sockaddr *const*serverAddr,
                                                    const socklen_t *socklen,
-                                                   size_t maxbuf,
                                                    struct GNUNET_TIME_Relative
                                                    idle_timeout,
                                                    int require_found);
@@ -461,7 +454,7 @@ struct GNUNET_SERVER_NotificationContext;
  * @param server server for which this function creates the context
  * @param queue_length maximum number of messages to keep in
  *        the notification queue; optional messages are dropped
- *        it the queue gets longer than this number of messages
+ *        if the queue gets longer than this number of messages
  * @return handle to the notification context
  */
 struct GNUNET_SERVER_NotificationContext *
@@ -542,17 +535,12 @@ typedef void (*GNUNET_SERVER_MessageTokenizerCallback) (void *cls,
 /**
  * Create a message stream tokenizer.
  *
- * @param maxbuf maximum message size to support (typically
- *    GNUNET_SERVER_MAX_MESSAGE_SIZE)
- * @param client_identity ID of client for which this is a buffer,
- *        can be NULL (will be passed back to 'cb')
  * @param cb function to call on completed messages
  * @param cb_cls closure for cb
  * @return handle to tokenizer
  */
 struct GNUNET_SERVER_MessageStreamTokenizer *
-GNUNET_SERVER_mst_create (size_t maxbuf,
-                         GNUNET_SERVER_MessageTokenizerCallback cb,
+GNUNET_SERVER_mst_create (GNUNET_SERVER_MessageTokenizerCallback cb,
                          void *cb_cls);
 
 
@@ -561,6 +549,8 @@ GNUNET_SERVER_mst_create (size_t maxbuf,
  * callback for all complete messages.
  *
  * @param mst tokenizer to use
+ * @param client_identity ID of client for which this is a buffer,
+ *        can be NULL (will be passed back to 'cb')
  * @param buf input data to add
  * @param size number of bytes in buf
  * @param purge should any excess bytes in the buffer be discarded