OpenDOF Project
Files | Data Structures
DOF Transport Layer (DTL)

The DOF Transport Layer is the OAL's abstraction of a transport. More...

Files

file  transport.h
 Header file for the DOF Transport Layer interfaces, functions, defines and data types.
 

Data Structures

struct  DTLConnection
 The transport's Connection interface structure, representing a transport-level connection. More...
 
struct  DTLServer
 The transport's Server interface structure, representing a transport-level server. More...
 
struct  DTLTransport
 The core Transport interface structure, allowing connections and servers to be created at the transport layer. More...
 
struct  DTLTransportHandler
 The Transport Handler interface structure, allowing a transport to communicate with the OAL. More...
 

DTLConnectionConfig

typedef struct
DTLConnectionConfig_t * 
DTLConnectionConfig
 The transport's Connection Configuration, allowing transport-specific configuration of a connection.
 
typedef void(* DTLConnectionConfig_Destroyer )(const void *config)
 Destroyer function for connection configuration.
 
DTLConnectionConfig DTLConnectionConfig_Create (uint32 configSize, const void *config, DTLTransport transport, DTLConnectionConfig_Destroyer destroyer)
 Create a connection configuration from a transport configuration and the transport.
 
DTLConnectionConfig DTLConnectionConfig_Copy (const DTLConnectionConfig self)
 Create a new copy of an existing DTLConnectionConfig.
 
boolean DTLConnectionConfig_IsEqual (const DTLConnectionConfig self, const DTLConnectionConfig config)
 Compare a connection configuration against another for equality.
 
void DTLConnectionConfig_Destroy (DTLConnectionConfig self)
 Destroy a connection configuration.
 
const void * DTLConnectionConfig_GetConfig (const DTLConnectionConfig self)
 Return the transport-specific connection configuration data stored within the DTLConnectionConfig.
 
uint32 DTLConnectionConfig_GetConfigSize (const DTLConnectionConfig self)
 Return the size of the Transport-specific connection configuration data stored within the DTLConnectionConfig.
 
DTLTransport DTLConnectionConfig_GetTransport (const DTLConnectionConfig self)
 Return the transport associated with the DTLConnectionConfig.
 

DTLServerConfig

typedef struct DTLServerConfig_t * DTLServerConfig
 The transport's Server Configuration, allowing transport-specific configuration of a server.
 
typedef void(* DTLServerConfig_Destroyer )(const void *config)
 Destroyer function for server configuration.
 
DTLServerConfig DTLServerConfig_Create (uint32 configSize, const void *config, DTLTransport transport, DTLServerConfig_Destroyer destroyer)
 Create a server configuration from a transport configuration and the transport.
 
DTLServerConfig DTLServerConfig_Copy (const DTLServerConfig self)
 Create a new copy of an existing DTLServerConfig.
 
boolean DTLServerConfig_IsEqual (const DTLServerConfig self, const DTLServerConfig config)
 Compare a server configuration against another for equality.
 
void DTLServerConfig_Destroy (DTLServerConfig self)
 Destroy a server configuration.
 
const void * DTLServerConfig_GetConfig (const DTLServerConfig self)
 Return the transport-specific server configuration data stored within the DTLServerConfig.
 
uint32 DTLServerConfig_GetConfigSize (const DTLServerConfig self)
 Return the size of the transport-specific server configuration data stored within the DTLServerConfig.
 
DTLTransport DTLServerConfig_GetTransport (const DTLServerConfig self)
 Return the transport associated with the DTLServerConfig.
 

Detailed Description

The DOF Transport Layer is the OAL's abstraction of a transport.

Any number of transports may be implemented and used with the OAL. Transport implementations are distributed separately from the OAL.

Each transport layer works directly with a Transport Handler (another interface), which is identified when the transport is asked to perform a task. The Transport Handler is solely responsible for calling into a transport as well as accepting calls from the transport.

core-c-dof-oal Version 8.0.1 Build 0
2018-01-22