proactor.h File Reference
`#include <proton/condition.h>`
`#include <proton/event.h>`
`#include <proton/import_export.h>`
`#include <proton/types.h>`
Include dependency graph for proactor.h:

Go to the source code of this file.

## Macros

#define | PN_MAX_ADDR
| Size of buffer that can hold the largest connection or listening address.

## Functions

PNP_EXTERN int | pn_proactor_addr (char *addr, size_t size, const char *host, const char *port)
| Format a host:port address string for pn_proactor_connect2() or pn_proactor_listen2() More...
PNP_EXTERN pn_proactor_t * | pn_proactor (void)
| Create a proactor. More...
PNP_EXTERN void | pn_proactor_free (pn_proactor_t *proactor)
| Free the proactor. More...
PNP_EXTERN void | pn_proactor_connect2 (pn_proactor_t *proactor, pn_connection_t *connection, pn_transport_t *transport, const char *addr)
| Connect `transport` to `addr` and bind to `connection`. More...
PNP_EXTERN void | pn_proactor_connect (pn_proactor_t *proactor, pn_connection_t *connection, const char *addr)
PNP_EXTERN void | pn_proactor_listen (pn_proactor_t *proactor, pn_listener_t *listener, const char *addr, int backlog)
| Start listening for incoming connections. More...
PNP_EXTERN void | pn_proactor_disconnect (pn_proactor_t *proactor, pn_condition_t *condition)
| Disconnect all connections and listeners belonging to the proactor. More...
PNP_EXTERN pn_event_batch_t * | pn_proactor_wait (pn_proactor_t *proactor)
| Wait until there are Proactor events to handle. More...
PNP_EXTERN pn_event_batch_t * | pn_proactor_get (pn_proactor_t *proactor)
| Return Proactor events if any are available immediately. More...
PNP_EXTERN void | pn_proactor_done (pn_proactor_t *proactor, pn_event_batch_t *events)
| Call when finished handling a batch of events. More...
PNP_EXTERN void | pn_proactor_interrupt (pn_proactor_t *proactor)
| Return a PN_PROACTOR_INTERRUPT event as soon as possible. More...
PNP_EXTERN void | pn_proactor_set_timeout (pn_proactor_t *proactor, pn_millis_t timeout)
| Return a PN_PROACTOR_TIMEOUT after `timeout` milliseconds elapse. More...
PNP_EXTERN void | pn_proactor_cancel_timeout (pn_proactor_t *proactor)
| Cancel the pending timeout set by pn_proactor_set_timeout(). More...
PNP_EXTERN void | pn_proactor_release_connection (pn_connection_t *connection)
| Release ownership of `connection`, disassociate it from its proactor. More...
PNP_EXTERN void | pn_connection_wake (pn_connection_t *connection)
| Return a PN_CONNECTION_WAKE event for `connection` as soon as possible. More...
PNP_EXTERN pn_proactor_t * | pn_connection_proactor (pn_connection_t *connection)
| Return the proactor associated with a connection. More...
PNP_EXTERN pn_proactor_t * | pn_event_proactor (pn_event_t *event)
| Return the proactor associated with an event. More...
PNP_EXTERN pn_millis_t | pn_proactor_now (void)
| Get the real elapsed time since an arbitrary point in the past in milliseconds. More...

## Detailed Description

Unsettled API - An API for multithreaded IO.