36#ifndef GNUNET_CORE_UNDERLAY_SERVICE_H
37#define GNUNET_CORE_UNDERLAY_SERVICE_H
53#define GNUNET_CORE_UNDERLAY_VERSION 0x00000000
59struct GNUNET_CORE_UNDERLAY_Handle;
72typedef void *(*GNUNET_CORE_UNDERLAY_NotifyConnect) (
74 uint32_t num_addresses;
75 const char *addresses[
static num_addresses],
108 struct uint64_t network_generation_id);
125struct GNUNET_CORE_UNDERLAY_Handle *
164GNUNET_CORE_UNDERLAY_receive_continue (
struct GNUNET_CORE_UNDERLAY_Handle *
ch,
181GNUNET_CORE_UNDERLAY_connect_to_peer (
struct GNUNET_CORE_UNDERLAY_Handle *
ch,
182 const char *peer_address
struct GNUNET_MQ_MessageHandlers handlers[]
static struct GNUNET_CONFIGURATION_Handle * cfg
Our configuration.
static struct GNUNET_CADET_Channel * ch
Channel handle.
static struct GNUNET_NotificationContext * nc
Notification context for broadcasting to monitors.
static struct GNUNET_VPN_Handle * handle
Handle to vpn service.
API of the transport service towards the communicator processes.
void *(* GNUNET_CORE_UNDERLAY_NotifyConnect)(void *cls, uint32_t num_addresses;const char *addresses[static num_addresses], struct GNUNET_MQ_Handle *mq)
Function called to notify core underlay users that another peer connected to us.
void GNUNET_CORE_UNDERLAY_disconnect(struct GNUNET_CORE_UNDERLAY_Handle *handle)
Disconnect from the core underlay service.
void(* GNUNET_CORE_UNDERLAY_NotifyDisconnect)(void *cls, void *handler_cls)
Function called to notify core underlay users that another peer disconnected from us.
void(* GNUNET_CORE_UNDERLAY_NotifyAddressChange)(void *cls, struct GNUNET_HashCode network_location_hash, struct uint64_t network_generation_id)
Function called to notify core of the now available addresses.
struct GNUNET_CORE_UNDERLAY_Handle * GNUNET_CORE_UNDERLAY_connect(const struct GNUNET_CONFIGURATION_Handle *cfg, const struct GNUNET_MQ_MessageHandler *handlers, void *cls, GNUNET_CORE_UNDERLAY_NotifyConnect nc, GNUNET_CORE_UNDERLAY_NotifyDisconnect nd, GNUNET_CORE_UNDERLAY_NotifyAddressChange na)
Connect to the core underlay service.
GNUNET_MQ_PriorityPreferences
Per envelope preferences and priorities.
static struct GNUNET_MQ_Handle * mq
Our connection to the resolver service, created on-demand, but then persists until error or shutdown.
32-bit bandwidth used for network exchange by GNUnet, in bytes per second.
Handle to a message queue.
Message handler for a specific message type.