diff options
author | Bertrand Marc <beberking@gmail.com> | 2012-06-06 20:47:48 +0200 |
---|---|---|
committer | Bertrand Marc <beberking@gmail.com> | 2012-06-06 20:47:48 +0200 |
commit | 740b30688bd745a527f96f9116c19acb3480971a (patch) | |
tree | 2709a3f4dba11c174aa9e1ba3612e30c578e76a9 /src/transport/plugin_transport_http.h | |
parent | 2b81464a43485fcc8ce079fafdee7b7a171835f4 (diff) |
Imported Upstream version 0.9.3upstream/0.9.3
Diffstat (limited to 'src/transport/plugin_transport_http.h')
-rw-r--r-- | src/transport/plugin_transport_http.h | 63 |
1 files changed, 56 insertions, 7 deletions
diff --git a/src/transport/plugin_transport_http.h b/src/transport/plugin_transport_http.h index be8f93d..986d7d7 100644 --- a/src/transport/plugin_transport_http.h +++ b/src/transport/plugin_transport_http.h @@ -45,7 +45,7 @@ #define DEBUG_HTTP GNUNET_EXTRA_LOGGING #define VERBOSE_SERVER GNUNET_EXTRA_LOGGING #define VERBOSE_CLIENT GNUNET_EXTRA_LOGGING -#define VERBOSE_CURL GNUNET_EXTRA_LOGGING +#define VERBOSE_CURL GNUNET_NO #if BUILD_HTTPS #define LIBGNUNET_PLUGIN_TRANSPORT_INIT libgnunet_plugin_transport_https_init @@ -160,6 +160,16 @@ struct Plugin int max_connections; /** + * Number of outbound sessions + */ + unsigned int outbound_sessions; + + /** + * Number of inbound sessions + */ + unsigned int inbound_sessions; + + /** * Plugin HTTPS SSL/TLS options * ---------------------------- */ @@ -216,6 +226,11 @@ struct Plugin GNUNET_SCHEDULER_TaskIdentifier server_v4_task; /** + * The IPv4 server is scheduled to run asap + */ + int server_v4_immediately; + + /** * MHD IPv6 daemon */ struct MHD_Daemon *server_v6; @@ -226,6 +241,12 @@ struct Plugin GNUNET_SCHEDULER_TaskIdentifier server_v6_task; /** + * The IPv6 server is scheduled to run asap + */ + + int server_v6_immediately; + + /** * IPv4 server socket to bind to */ struct sockaddr_in *server_addr_v4; @@ -295,6 +316,24 @@ struct IPv6HttpAddress }; GNUNET_NETWORK_STRUCT_END + +struct ServerConnection +{ + /* _RECV or _SEND */ + int direction; + + /* Should this connection get disconnected? GNUNET_YES/NO */ + int disconnect; + + /* The session this server connection belongs to */ + struct Session *session; + + /* The MHD connection */ + struct MHD_Connection *mhd_conn; +}; + + + /** * Session handle for connections. */ @@ -390,6 +429,11 @@ struct Session GNUNET_SCHEDULER_TaskIdentifier recv_wakeup_task; /** + * Session timeout task + */ + GNUNET_SCHEDULER_TaskIdentifier timeout_task; + + /** * Is client send handle paused since there are no data to send? * GNUNET_YES/NO */ @@ -402,12 +446,12 @@ struct Session /** * Client send handle */ - void *server_recv; + struct ServerConnection *server_recv; /** * Client send handle */ - void *server_send; + struct ServerConnection *server_send; }; /** @@ -453,13 +497,18 @@ struct HTTP_Message void *transmit_cont_cls; }; +struct Session * +create_session (struct Plugin *plugin, const struct GNUNET_PeerIdentity *target, + const void *addr, size_t addrlen); + +int +exist_session (struct Plugin *plugin, struct Session *s); + void delete_session (struct Session *s); -struct Session * -create_session (struct Plugin *plugin, const struct GNUNET_PeerIdentity *target, - const void *addr, size_t addrlen, - GNUNET_TRANSPORT_TransmitContinuation cont, void *cont_cls); +int +exist_session (struct Plugin *plugin, struct Session *s); struct GNUNET_TIME_Relative http_plugin_receive (void *cls, const struct GNUNET_PeerIdentity *peer, |