The DOF class represents a DOF networking node.
Inheritance Hierarchy
org.opendof.core.oalDOF
Namespace: org.opendof.core.oal
Assembly: dof-oal (in dof-oal.dll) Version: 7.0.1.2
Syntax
C#
public sealed class DOF
The DOF type exposes the following members.
Constructors
Name | Description | |
---|---|---|
![]() | DOF | Creates a DOF instance with a default config. |
![]() | DOF(DOFConfig) | Creates a DOF instance that uses the specified configuration. |
Methods
Name | Description | |
---|---|---|
![]() | addDomainListener |
Adds a
DomainListener
to the DOF, which is used to monitor the DOF's known security domains.
|
![]() | addInterestListener |
Adds a
InterestListener
to the DOF. Interest listeners are used by nodes (usually providers or proxies) that want
to monitor all interest requests.
|
![]() | addPermissionListener |
Add a
PermissionListener
to the DOF, which will be notified of permission grants and denials.
|
![]() | addUncaughtExceptionListener |
Adds a
UncaughtExceptionListener
to the DOF. Uncaught exception listeners are called when an application
callback throws an exception. This can be a
System.Exception
or an
System.Exception
.
|
![]() | cancelAllOperations | Cancels all outstanding operations sourced by this DOF. |
![]() | close | Forces a connection to close. |
![]() | createAuthenticator |
Creates a
DOFAuthenticator
that uses the specified configuration. The DOFAuthenticator class must be implemented on
nodes that need to perform as Authentication Servers. All secure domains must have at least one Authentication Server.
Each authenticator created must be destroyed when it is no longer needed. See
DOFAuthenticator.destroy()
and
destroy()
.
|
![]() | createConnection |
Creates a
DOFConnection
that uses the specified configuration. The connection is associated with the DOF
instance that creates it, and only that DOF can route operations through it (see DOF).
This method may be used to create the following types of connections:
|
![]() | createDomain |
Creates a
DOFDomain
that uses the specified configuration. The DOFDomain can be used to monitor connectivity to a
secure domain's Authentication Server.
The internal library tracks references to duplicate domains, so this method can safely be called multiple times with the
same configuration without consuming extra resources. Multiple references to a DOFDomain can easily occur, because the library automatically creates
DOFDomain instances when you pass a DOFDomain.Config in the following methods:
|
![]() | createServer |
Creates a
DOFServer
that uses the specified configuration. The server is associated with the DOF instance that creates
it, and only that DOF can accept connections or route operations through it (see DOF).
Servers do not start automatically when created. After creating the server, call
DOFServer.start(int)
or
DOFServer.beginStart(int)
.
To stop the server temporarily, call
DOFServer.stop()
. Stopped servers can be restarted using DOFServer.start or DOFServer.beginStart.
Each DOFServer instance must be destroyed when it is no longer needed. See
DOFServer.destroy()
and
destroy()
. Destroyed
servers cannot be restarted.
The internal library tracks references to duplicate servers, so this method can safely be called multiple times with the
same configuration without consuming extra resources. Such duplicate servers are frequently needed, especially by nodes
that create servers dynamically in response to other method calls.
This method may be used to create unicast servers, but not to create multicast servers. Use
DOFServer.createServer(Config)
to create multicast servers.
|
![]() | createSystem |
Creates a
DOFSystem
that uses the default configuration. Calling this overload is identical to calling
createSystem(Config, int)
and passing the arguments (null, 0) |
![]() | createSystem(DOFSystemConfig) |
Creates a
DOFSystem
that uses the specified configuration. You must create DOFSystem instances in order to create
DOFObject
instances, which are needed
to perform the majority of operations DOF provides. DOFSystems are associated with the DOF instance used to create them, and only that DOF can route its
operations (see DOF).
Each DOFSystem instance must be destroyed when it is no longer needed. See
DOFSystem.destroy()
and
destroy()
.
This method will return immediately, but the system may not be authorized initially.
|
![]() | createSystem(DOFSystemConfig, Int32) |
Creates a
DOFSystem
that uses the specified configuration. You must create DOFSystem instances in order to create
DOFObject
instances, which are needed
to perform the majority of operations DOF provides. DOFSystems are associated with the DOF instance used to create them, and only that DOF can route its
operations (see DOF).
Each DOFSystem instance must be destroyed when it is no longer needed. See
DOFSystem.destroy()
and
destroy()
.
This method will block until the system is authorized or timeout expires.
|
![]() | destroy | Frees resources allocated during the creation of a DOF. |
![]() | Equals | (Inherited from Object.) |
![]() | getAuthenticator | Gets an authenticator for a specified domain. |
![]() | getAuthenticators | Gets a list of all DOFAuthenticators known to the DOF. |
![]() | getDomains | Gets a list of all domains associated with the DOF. |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | getRuntime | Gets this DOF's runtime, which contains data about the internal runtime state of the DOF.
|
![]() | getState |
Creates a
State
object, which represents a snapshot of the DOF's configuration information as it exists at the moment when you call
this method. After using this method to get the snapshot, you can use the getter methods
of DOF.State to retrieve specific information about the DOF's configuration, as well as some runtime information. Because the DOF's configuration information
and runtime statistics may change, you should call this method again each time you want updated information.
|
![]() | getSystems | Gets a list of all systems associated with the DOF. |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | removeDomainListener |
Removes a
DomainListener
from the DOF. When the listener is removed, this method causes
DomainListener.removed(DOF, DOFException)
to be called.
|
![]() | removeInterestListener |
Removes a
InterestListener
. When the listener is removed, this method causes
InterestListener.removed(DOF, DOFException)
to be called.
|
![]() | removePermissionListener |
Remove a
PermissionListener
from the DOF. //TODO should it call a removed method?
|
![]() | removeUncaughtExceptionListener |
Removes a
UncaughtExceptionListener
. When the listener is removed, this method causes
UncaughtExceptionListener.removed(DOF, DOFException)
to be called.
|
![]() | resolve | Attempts to resolve the given credentials. |
![]() | setConnectionLimit | Changes the maximum number of simultaneous connections the DOF supports.
|
![]() | setName | Changes the name of a DOF. |
![]() | setNodeDown | Notifies the network that the DOF calling this method is about to be destroyed.
|
![]() | setProtocolFactory | Changes the protocol factory. |
![]() | setRank | Changes the DOF's desire to manage a secure multicast group. |
![]() | setThreadPoolSize | Changes the maximum number of threads the DOF can create. |
![]() | stop | Forces a server to stop. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
![]() | updateAuthenticator | Updates an existing DOFAuthenticator with the specified configuration. |
Fields
Name | Description | |
---|---|---|
![]() ![]() | TIMEOUT_NEVER | Specifies an infinite timeout. |
![]() ![]() | UNLIMITED |
Integer.MAX_VALUE, so that the default number of simultaneous connections the DOF allows is at
its maximum setting.
|
Remarks
Because each DOF represents a separate networking node, even when two DOFs reside in the same application, each is a separate logical node in the 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 its constructor ( DOF(Config) ) 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 setConnectionLimit(int) ). However, changing other configuration parameters associated with the DOF requires taking the node down, destroying the DOF, and building a new DOF with a new configuration. For information about all configuration parameters, see Builder . The DOF is used to create:- DOFSystem with createSystem()
- DOFConnection with createConnection(Config)
- DOFServer with createServer(Config)
- DOFDomain with createDomain(Config)
- DOFAuthenticator with createAuthenticator(Config)
See Also