aboutsummaryrefslogtreecommitdiff
path: root/src/core/transport.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/transport.h')
-rw-r--r--src/core/transport.h45
1 files changed, 22 insertions, 23 deletions
diff --git a/src/core/transport.h b/src/core/transport.h
index 50da473d..72f4cc61 100644
--- a/src/core/transport.h
+++ b/src/core/transport.h
@@ -15,24 +15,23 @@
struct nni_tran {
// tran_scheme is the transport scheme, such as "tcp" or "inproc".
- const char * tran_scheme;
+ const char *tran_scheme;
// tran_ep links our endpoint-specific operations.
- const nni_tran_ep * tran_ep;
+ const nni_tran_ep *tran_ep;
// tran_pipe links our pipe-specific operations.
- const nni_tran_pipe * tran_pipe;
+ const nni_tran_pipe *tran_pipe;
// tran_init, if not NULL, is called once during library
// initialization.
- int (*tran_init)(void);
+ int (*tran_init)(void);
// tran_fini, if not NULL, is called during library deinitialization.
// It should release any global resources, close any open files, etc.
- void (*tran_fini)(void);
+ void (*tran_fini)(void);
};
-
// Endpoint operations are called by the socket in a protocol-independent
// fashion. The socket makes individual calls, which are expected to block
// if appropriate (except for destroy). Endpoints are unable to call back
@@ -40,36 +39,36 @@ struct nni_tran {
struct nni_tran_ep {
// ep_init creates a vanilla endpoint. The value created is
// used for the first argument for all other endpoint functions.
- int (*ep_init)(void **, const char *, nni_sock *, int);
+ int (*ep_init)(void **, const char *, nni_sock *, int);
// ep_fini frees the resources associated with the endpoint.
// The endpoint will already have been closed.
- void (*ep_fini)(void *);
+ void (*ep_fini)(void *);
// ep_connect establishes a connection. It can return errors
// NNG_EACCESS, NNG_ECONNREFUSED, NNG_EBADADDR, NNG_ECONNFAILED,
// NNG_ETIMEDOUT, and NNG_EPROTO.
- void (*ep_connect)(void *, nni_aio *);
+ void (*ep_connect)(void *, nni_aio *);
// ep_bind just does the bind() and listen() work,
// reserving the address but not creating any connections.
// It should return NNG_EADDRINUSE if the address is already
// taken. It can also return NNG_EBADADDR for an unsuitable
// address, or NNG_EACCESS for permission problems.
- int (*ep_bind)(void *);
+ int (*ep_bind)(void *);
// ep_accept accepts an inbound connection.
- void (*ep_accept)(void *, nni_aio *);
+ void (*ep_accept)(void *, nni_aio *);
// ep_close stops the endpoint from operating altogether. It does
// not affect pipes that have already been created.
- void (*ep_close)(void *);
+ void (*ep_close)(void *);
// ep_setopt sets an endpoint (transport-specific) option.
- int (*ep_setopt)(void *, int, const void *, size_t);
+ int (*ep_setopt)(void *, int, const void *, size_t);
// ep_getopt gets an endpoint (transport-specific) option.
- int (*ep_getopt)(void *, int, void *, size_t *);
+ int (*ep_getopt)(void *, int, void *, size_t *);
};
// Pipe operations are entry points called by the socket. These may be called
@@ -81,14 +80,14 @@ struct nni_tran_pipe {
// resources, including closing files and freeing memory, used by
// the pipe. After this call returns, the system will not make
// further calls on the same pipe.
- void (*p_fini)(void *);
+ void (*p_fini)(void *);
// p_start starts the pipe running. This gives the transport a
// chance to hook into any transport specific negotiation phase.
// The pipe will not have its p_send or p_recv calls started, and
// will not be access by the "socket" until the pipe has indicated
// its readiness by finishing the aio.
- void (*p_start)(void *, nni_aio *);
+ void (*p_start)(void *, nni_aio *);
// p_aio_send queues the message for transmit. If this fails, then
// the caller may try again with the same message (or free it). If
@@ -96,30 +95,30 @@ struct nni_tran_pipe {
// message, and the caller may not use it again. The transport will
// have the responsibility to free the message (nng_msg_free()) when
// it is finished with it.
- void (*p_send)(void *, nni_aio *);
+ void (*p_send)(void *, nni_aio *);
// p_recv schedules a message receive. This will be performed even for
// cases where no data is expected, to allow detection of a remote
// disconnect.
- void (*p_recv)(void *, nni_aio *);
+ void (*p_recv)(void *, nni_aio *);
// p_close closes the pipe. Further recv or send operations should
// return back NNG_ECLOSED.
- void (*p_close)(void *);
+ void (*p_close)(void *);
// p_peer returns the peer protocol. This may arrive in whatever
// transport specific manner is appropriate.
- uint16_t (*p_peer)(void *);
+ uint16_t (*p_peer)(void *);
// p_getopt gets an pipe (transport-specific) property. These values
// may not be changed once the pipe is created.
- int (*p_getopt)(void *, int, void *, size_t *);
+ int (*p_getopt)(void *, int, void *, size_t *);
};
// These APIs are used by the framework internally, and not for use by
// transport implementations.
extern nni_tran *nni_tran_find(const char *);
-extern void nni_tran_sys_init(void);
-extern void nni_tran_sys_fini(void);
+extern void nni_tran_sys_init(void);
+extern void nni_tran_sys_fini(void);
#endif // CORE_TRANSPORT_H