-skeletons for transport-ng
[oweals/gnunet.git] / src / include / gnunet_server_lib.h
index b1be9ee3a2650fb5eb50b3e304d06a852e356dd1..0ea9a18eba22e4f827b7c3a1045436789180fdd6 100644 (file)
@@ -1,6 +1,6 @@
 /*
      This file is part of GNUnet.
-     Copyright (C) 2009-2013 Christian Grothoff (and other contributing authors)
+     Copyright (C) 2009-2013 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
 */
 
 /**
- * @file include/gnunet_server_lib.h
- * @brief library for building GNUnet network servers
  * @author Christian Grothoff
- * @defgroup server  Functions for a server that communicates with clients
+ *
+ * @file
+ * Library for building GNUnet network servers
+
+ * @defgroup server  Server library
+ * Library for building GNUnet network servers
+ *
+ * Provides functions for a server that communicates with clients.
+ *
+ * @see [Documentation](https://gnunet.org/ipc)
+ *
  * @{
  */
 
@@ -445,8 +453,9 @@ GNUNET_SERVER_client_get_address (struct GNUNET_SERVER_Client *client,
  * @param client identification of the client; NULL
  *        for the last call when the server is destroyed
  */
-typedef void (*GNUNET_SERVER_DisconnectCallback) (void *cls,
-                                                  struct GNUNET_SERVER_Client *client);
+typedef void
+(*GNUNET_SERVER_DisconnectCallback) (void *cls,
+                                     struct GNUNET_SERVER_Client *client);
 
 
 /**
@@ -456,8 +465,9 @@ typedef void (*GNUNET_SERVER_DisconnectCallback) (void *cls,
  * @param cls closure
  * @param client identification of the client
  */
-typedef void (*GNUNET_SERVER_ConnectCallback) (void *cls,
-                                              struct GNUNET_SERVER_Client *client);
+typedef void
+(*GNUNET_SERVER_ConnectCallback) (void *cls,
+                                  struct GNUNET_SERVER_Client *client);
 
 
 /**
@@ -718,6 +728,16 @@ unsigned int
 GNUNET_SERVER_notification_context_get_size (struct GNUNET_SERVER_NotificationContext *nc);
 
 
+/**
+ * Create a message queue for a server's client.
+ *
+ * @param client the client
+ * @return the message queue
+ */
+struct GNUNET_MQ_Handle *
+GNUNET_MQ_queue_for_server_client (struct GNUNET_SERVER_Client *client);
+
+
 /**
  * Handle to a message stream tokenizer.
  */
@@ -791,8 +811,9 @@ GNUNET_SERVER_mst_destroy (struct GNUNET_SERVER_MessageStreamTokenizer *mst);
  * @param client handle to client the tokenzier will be used for
  * @return handle to custom tokenizer ('mst')
  */
-typedef void* (*GNUNET_SERVER_MstCreateCallback) (void *cls,
-                                                  struct GNUNET_SERVER_Client *client);
+typedef void*
+(*GNUNET_SERVER_MstCreateCallback) (void *cls,
+                                    struct GNUNET_SERVER_Client *client);
 
 
 /**
@@ -801,7 +822,9 @@ typedef void* (*GNUNET_SERVER_MstCreateCallback) (void *cls,
  * @param cls closure from #GNUNET_SERVER_set_callbacks
  * @param mst custom tokenizer handle
  */
-typedef void (*GNUNET_SERVER_MstDestroyCallback) (void *cls, void *mst);
+typedef void
+(*GNUNET_SERVER_MstDestroyCallback) (void *cls,
+                                     void *mst);
 
 
 /**
@@ -820,10 +843,13 @@ typedef void (*GNUNET_SERVER_MstDestroyCallback) (void *cls, void *mst);
  *         #GNUNET_NO if one_shot was set and we have another message ready
  *         #GNUNET_SYSERR if the data stream is corrupt
  */
-typedef int (*GNUNET_SERVER_MstReceiveCallback) (void *cls, void *mst,
-                                                 struct GNUNET_SERVER_Client *client,
-                                                 const char *buf, size_t size,
-                                                 int purge, int one_shot);
+typedef int
+(*GNUNET_SERVER_MstReceiveCallback) (void *cls, void *mst,
+                                     struct GNUNET_SERVER_Client *client,
+                                     const char *buf,
+                                     size_t size,
+                                     int purge,
+                                     int one_shot);
 
 
 /**
@@ -851,8 +877,9 @@ GNUNET_SERVER_set_callbacks (struct GNUNET_SERVER_Handle *server,
 }
 #endif
 
-/** @} */ /* end of group server */
-
 /* ifndef GNUNET_SERVER_LIB_H */
 #endif
+
+/** @} */  /* end of group server */
+
 /* end of gnunet_server_lib.h */