Function gnunet_sys::GNUNET_CORE_connect[][src]

pub unsafe extern "C" fn GNUNET_CORE_connect(
    cfg: *const GNUNET_CONFIGURATION_Handle,
    cls: *mut c_void,
    init: GNUNET_CORE_StartupCallback,
    connects: GNUNET_CORE_ConnectEventHandler,
    disconnects: GNUNET_CORE_DisconnectEventHandler,
    handlers: *const GNUNET_MQ_MessageHandler
) -> *mut GNUNET_CORE_Handle

Connect to the core service. Note that the connection may complete (or fail) asynchronously. This function primarily causes the given callback notification functions to be invoked whenever the specified event happens. The maximum number of queued notifications (queue length) is per client; the queue is shared across all types of notifications. So a slow client that registers for @a outbound_notify also risks missing @a inbound_notify messages. Certain events (such as connect/disconnect notifications) are not subject to queue size limitations.

@param cfg configuration to use @param cls closure for the various callbacks that follow (including handlers in the handlers array) @param init callback to call once we have successfully connected to the core service @param connects function to call on peer connect, can be NULL @param disconnects function to call on peer disconnect / timeout, can be NULL @param handlers callbacks for messages we care about, NULL-terminated note that the core is allowed to drop notifications about inbound messages if the client does not process them fast enough (for this notification type, a bounded queue is used) @return handle to the core service (only useful for disconnect until @a init is called), NULL on error (in this case, init is never called)