From 1a9d3baf9faeb388b87c7db31e2bb3664b0d208a Mon Sep 17 00:00:00 2001 From: Matthias Wachs Date: Thu, 26 Jan 2012 15:46:01 +0000 Subject: [PATCH] - changes --- src/transport/plugin_transport_wlan.c | 68 ++++++++++++++++++++++++++- 1 file changed, 66 insertions(+), 2 deletions(-) diff --git a/src/transport/plugin_transport_wlan.c b/src/transport/plugin_transport_wlan.c index 60389bd71..cf971ca80 100644 --- a/src/transport/plugin_transport_wlan.c +++ b/src/transport/plugin_transport_wlan.c @@ -2191,6 +2191,68 @@ wlan_plugin_address_suggested (void *cls, const void *addr, size_t addrlen) return GNUNET_SYSERR; } + +/** + * Creates a new outbound session the transport service will use to send data to the + * peer + * + * @param cls the plugin + * @param address the address + * @return the session or NULL of max connections exceeded + */ + +static struct Session * +wlan_plugin_get_session (void *cls, + const struct GNUNET_HELLO_Address *address) +{ + struct Session * s = NULL; + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "To be implemented\n"); + GNUNET_break (0); + return s; +} + +/** + * Function that can be used by the transport service to transmit + * a message using the plugin. Note that in the case of a + * peer disconnecting, the continuation MUST be called + * prior to the disconnect notification itself. This function + * will be called with this peer's HELLO message to initiate + * a fresh connection to another peer. + * + * @param cls closure + * @param session which session must be used + * @param msgbuf the message to transmit + * @param msgbuf_size number of bytes in 'msgbuf' + * @param priority how important is the message (most plugins will + * ignore message priority and just FIFO) + * @param to how long to wait at most for the transmission (does not + * require plugins to discard the message after the timeout, + * just advisory for the desired delay; most plugins will ignore + * this as well) + * @param cont continuation to call once the message has + * been transmitted (or if the transport is ready + * for the next transmission call; or if the + * peer disconnected...); can be NULL + * @param cont_cls closure for cont + * @return number of bytes used (on the physical network, with overheads); + * -1 on hard errors (i.e. address invalid); 0 is a legal value + * and does NOT mean that the message was not transmitted (DV) + */ +static ssize_t +wlan_plugin_send (void *cls, + struct Session *session, + const char *msgbuf, size_t msgbuf_size, + unsigned int priority, + struct GNUNET_TIME_Relative to, + GNUNET_TRANSPORT_TransmitContinuation cont, void *cont_cls) +{ + ssize_t sent = -1; + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "To be implemented\n"); + GNUNET_break (0); + return sent; +} + + /** * Function that can be used by the transport service to transmit * a message using the plugin. @@ -2218,7 +2280,7 @@ wlan_plugin_address_suggested (void *cls, const void *addr, size_t addrlen) * and does NOT mean that the message was not transmitted (DV) */ static ssize_t -wlan_plugin_send (void *cls, const struct GNUNET_PeerIdentity *target, +wlan_plugin_send_old (void *cls, const struct GNUNET_PeerIdentity *target, const char *msgbuf, size_t msgbuf_size, unsigned int priority, struct GNUNET_TIME_Relative timeout, struct Session *session, const void *addr, size_t addrlen, int force_address, @@ -3259,7 +3321,9 @@ libgnunet_plugin_transport_wlan_init (void *cls) api = GNUNET_malloc (sizeof (struct GNUNET_TRANSPORT_PluginFunctions)); api->cls = plugin; - api->send = &wlan_plugin_send; + api->send = &wlan_plugin_send_old; + api->send_with_session = &wlan_plugin_send; + api->get_session = &wlan_plugin_get_session; api->disconnect = &wlan_plugin_disconnect; api->address_pretty_printer = &wlan_plugin_address_pretty_printer; api->check_address = &wlan_plugin_address_suggested; -- 2.25.1