Qpid Proton C API  0.21.0
connection_driver.h File Reference

Unsettled API - An API for low-level IO integration. More...

#include <proton/import_export.h>
#include <proton/event.h>
#include <proton/types.h>
#include <stdarg.h>

Go to the source code of this file.


struct  pn_connection_driver_t
 The elements needed to drive AMQP IO and events. More...


 The write side of the transport is closed, it will no longer produce bytes to write to external IO. More...
 The read side of the transport is closed, it will no longer read bytes from external IO. More...


typedef struct pn_connection_driver_t pn_connection_driver_t
 The elements needed to drive AMQP IO and events.


int pn_connection_driver_init (pn_connection_driver_t *, pn_connection_t *, pn_transport_t *)
 Set connection and transport to the provided values, or create a new pn_connection_t or pn_transport_t if either is NULL. More...
int pn_connection_driver_bind (pn_connection_driver_t *d)
 Force binding of the transport. More...
void pn_connection_driver_destroy (pn_connection_driver_t *)
 Unbind, release and free the connection and transport. More...
pn_connection_tpn_connection_driver_release_connection (pn_connection_driver_t *d)
 Disassociate the driver's connection from its transport and collector and sets d->connection = NULL. More...
pn_rwbytes_t pn_connection_driver_read_buffer (pn_connection_driver_t *)
 Get the read buffer. More...
void pn_connection_driver_read_done (pn_connection_driver_t *, size_t n)
 Process the first n bytes of data in pn_connection_driver_read_buffer() and reclaim the buffer space.
void pn_connection_driver_read_close (pn_connection_driver_t *)
 Close the read side. More...
bool pn_connection_driver_read_closed (pn_connection_driver_t *)
 True if read side is closed.
pn_bytes_t pn_connection_driver_write_buffer (pn_connection_driver_t *)
 Get the write buffer. More...
void pn_connection_driver_write_done (pn_connection_driver_t *, size_t n)
 Call when the first n bytes of pn_connection_driver_write_buffer() have been written to IO. More...
void pn_connection_driver_write_close (pn_connection_driver_t *)
 Close the write side. More...
bool pn_connection_driver_write_closed (pn_connection_driver_t *)
 True if write side is closed.
void pn_connection_driver_close (pn_connection_driver_t *c)
 Close both sides.
pn_event_tpn_connection_driver_next_event (pn_connection_driver_t *)
 Get the next event to handle. More...
bool pn_connection_driver_has_event (pn_connection_driver_t *)
 True if pn_connection_driver_next_event() will return a non-NULL event.
bool pn_connection_driver_finished (pn_connection_driver_t *)
 Return true if the the driver is closed for reading and writing and there are no more events. More...
void pn_connection_driver_errorf (pn_connection_driver_t *d, const char *name, const char *fmt,...)
 Set transport error. More...
void pn_connection_driver_verrorf (pn_connection_driver_t *d, const char *name, const char *fmt, va_list)
 Set transport error via a va_list, see pn_connection_driver_errorf()
pn_connection_driver_tpn_event_batch_connection_driver (pn_event_batch_t *batch)
 If batch is part of a connection_driver, return the connection_driver address, else return NULL.
void pn_connection_driver_log (pn_connection_driver_t *d, const char *msg)
 Deprecated - Use pn_transport_log().
void pn_connection_driver_logf (pn_connection_driver_t *d, const char *fmt,...)
 Deprecated - Use pn_transport_logf().
void pn_connection_driver_vlogf (pn_connection_driver_t *d, const char *fmt, va_list ap)
 Deprecated - Use pn_transport_vlogf().
pn_connection_driver_t ** pn_connection_driver_ptr (pn_connection_t *connection)
 Associate a pn_connection_t with its pn_connection_driver_t. More...

Detailed Description

Unsettled API - An API for low-level IO integration.