The DOF class represents a DOF networking node. More...
Modules | |
DOFConfig | |
The DOFConfig class specifies the initial configuration to use when creating a DOF. | |
DOFLog | |
DOFLog is a static logging class for use by the application to facilitate notification of runtime log information. | |
DOFMem | |
The DOF Memory Allocator is responsible for allocating memory used internally by the C OAL. | |
DOFState | |
A DOFState instance represents a snapshot of the DOF's configuration information as it exists at the moment when you call DOF_CreateState. | |
Macros | |
#define | DOF_TIMEOUT_NEVER |
Platform-specific public function prototype declaration specification. | |
#define | DOF_UNLIMITED |
Specifies no limit or the maximum limit allowed. | |
Typedefs | |
typedef struct DOF_t * | DOF |
DOF is the foundation class of the DOF Framework. | |
Functions | |
DOF | DOF_Create (DOFConfig config) |
Creates a DOF instance that uses the specified configuration. | |
void | DOF_Destroy (DOF self) |
Frees resources allocated during the creation of a DOF. | |
DOFState | DOF_CreateState (const DOF self) |
Creates a DOFState, which represents a snapshot of the DOF's configuration information as it exists at the moment when you call this function. | |
DOFSystem | DOF_CreateSystem (DOF self, DOFSystemConfig config, uint32 timeout, DOFException *pException) |
Creates a DOFSystem that uses the specified configuration. | |
DOFConnection | DOF_CreateConnection (DOF self, DOFConnectionConfig config) |
Creates a DOFConnection that uses the specified configuration. | |
DOFServer | DOF_CreateServer (DOF self, DOFServerConfig config) |
Creates a DOFServer that uses the specified configuration. | |
boolean | DOF_SetNodeDown (DOF self) |
Notifies the network that a DOF is about to be destroyed. | |
boolean | DOF_SetConnectionLimit (DOF self, uint32 max) |
Changes the maximum number of simultaneous connections the DOF supports. | |
DOFRuntime | DOF_GetRuntime (DOF self) |
Gets this DOF's runtime, which contains data about the internal runtime state of the DOF. | |
boolean | DOF_ResolveCredentials (DOF self, DOFCredentials credentials, int timeout, DOFException *pException) |
Attempts to resolve the given credentials. | |
DOFAuthenticator | DOF_GetAuthenticator (const DOF self, DOFObjectIDDomain domainID) |
Returns a DOFAuthenticator known to the DOF. | |
DOFSystemList | DOF_CreateSystemList (const DOF self) |
Create a list of all systems associated with the DOF. | |
void | DOF_CancelAllOperations (DOF self) |
Cancels all outstanding operations sourced by a DOF. | |
void | DOF_Close (DOF self, DOFConnection connection) |
Forces a connection to close. | |
void | DOF_Stop (DOF self, DOFServer server) |
Forces a server to stop. | |
DOFAuthenticator | DOF_CreateAuthenticator (DOF self, DOFAuthenticatorConfig config) |
Creates a DOFAuthenticator that uses the specified configuration. | |
DOFAuthenticatorList | DOF_CreateAuthenticatorList (const DOF self) |
Creates a DOFAuthenticatorList with all DOFAuthenticators known to the given DOF. | |
DOFDomain | DOF_CreateDomain (DOF self, DOFDomainConfig config) |
Creates a DOFDomain that uses the specified configuration. | |
DOFDomainList | DOF_CreateDomainList (DOF self) |
Create a DOFDomainList of all the domains associated with the DOF. | |
boolean | DOF_AddDomainListener (DOF self, DOFDomainListener listener) |
Adds a DOFDomainListener to the given DOF, which is used to monitor the DOF's known security domains. | |
void | DOF_RemoveDomainListener (DOF self, DOFDomainListener listener) |
Removes a DOFDomainListener from the given DOF. | |
boolean | DOF_AddInterestListener (DOF self, DOFInterestListener listener) |
Adds a DOFInterestListener to the DOF. | |
void | DOF_RemoveInterestListener (DOF self, DOFInterestListener listener) |
Removes a DOFInterestListener from the DOF. | |
Variables | |
DOFProtocolNegotiator | DOF_DEFAULT_PROTOCOL_NEGOTIATOR |
The standard Default Protocol Negotiator. | |
DOFProtocolNegotiator | DOF_DEFAULT_AS_PROTOCOL_NEGOTIATOR |
The standard Authentication Server (AS) Protocol Negotiator, for AS-only connections. | |
Initialization and Shutdown | |
The Initialization and Shutdown module provides functions to initialize or shut down the library as a whole. These functions are included only with the C OAL. Other OALs do not require them. | |
void | DOF_Init (void) |
Initializes the C Object Access Library. | |
void | DOF_Shutdown (void) |
Terminates use of the C Object Access Library. | |
The DOF class represents a DOF networking node.
Every program that uses DOF requires a DOF instance. The DOF controls routing between the components that form the basis of DOF connectivity: systems (DOFSystem), servers (DOFServer), and connections (DOFConnection). While systems initiate and process operations, it is the DOF that determines where to route those operations (which other systems, connections, or servers associated with that DOF will receive the traffic). The DOF uses operation state, routing tables, security constraints, and similar information to make this determination.
Because each DOF represents a separate DOF networking node, even when two DOFs reside in the same application, each is a separate logical node in the DOF network. So for example, while security-compatible systems on the same DOF can communicate directly, systems on separate DOFs require connections and servers to communicate—even if both DOFs are in the same application.
The DOF is created using DOF_Create and is initialized during creation. Some configuration parameters can be changed after creation to modify the behavior of an existing DOF and any objects created by it (for example, see DOF_SetConnectionLimit). However, changing other configuration parameters associated with the DOF requires taking the node down and building a new DOF with a new configuration. For information about all configuration parameters, see the functions of DOFConfigBuilder.
The DOF is used to create:
Each DOF uses several threads internally. These are started when the DOF is created.
The library itself must be initialized before creating a DOF instance, using DOF_Init.