SIFWorks ADK 2.0
AgentProperties Class
NamespacesEdustructures.SifWorksAgentProperties

[This is preliminary documentation and is subject to change.]

Properties describing the operational settings of the agent or a zone.
Declaration Syntax
C#Visual BasicVisual C++
[SerializableAttribute]
public class AgentProperties : AdkProperties
<SerializableAttribute> _
Public Class AgentProperties _
	Inherits AdkProperties
[SerializableAttribute]
public ref class AgentProperties : public AdkProperties
Members
All MembersConstructorsMethodsPropertiesFields



IconMemberDescription
AgentPropertiesAgentPropertiesNew(AgentProperties)
Constructor

AuthenticationLevel
The authentication level to use when connecting to the ZIS, defaults to 0

BatchProvisioning
Determines how the Adk prepares SIF_Provide and SIF_Subscribe messages.

DefaultEncryptionAlgorithm
Returns the default encryption algorithm used for writing passwords in the Authentication object

DefaultEncryptionKeyName
Returns the default encryption keyname used for writing passwords in the Authentication object

Defaults(Object)
Assigns default property values. Called by the constructor to import the value of all System properties beginning with the prefix adk.
(Overrides AdkProperties.Defaults(Object).)
DefaultTimeout
Gets the default timeout value used by the Adk for functions that accept a timeout as a parameter.
Sets the default timeout value used by the Adk for functions that accept a timeout as a parameter.

DisableMessageDispatcher
Determines if the Adk's message dispatcher is disabled. When disabled, all messages received by the Adk are disposed of immediately without dispatching to the agent's message handlers. This property should only be set true in rare cases when the agent should send but not receive messages. The default is false.

DisableQueue

EffectiveBufferSize
Gets the maximum size of SIF messages that can be processed by this agent in-memory before off-loading the message to the local file system. Used internally to influence memory management.

EncryptionLevel
The encryption level to use when communicating with the ZIS. defaults to 0

GetEncryptionKey(String)
Returns the encryption key with the specifiec name.

IgnoreProvisioningErrors
Ignore any problems while provisioning objects. Defaults to false

KeepMessageContent
Keeps the text of the SIFMessage in memory after parsing into SDO objects. Defaults to false. Only set to true if your agent has a class that is implementing the IMessagingListener interface

MaxBufferSize
Gets the maximum size of SIF messages that can be processed by this agent when sending and receiving. The default value is 32K.

MessagingMode
Gets the preferred agent mode of operation (push or pull). The default value is PULL_MODE.

NoRequestIndividualElements
A compatibility option that determines if the Adk renders SIF_Request messages with SIF_Element field restrictions. When this property is enabled, the class framework will not include SIF_Element elements in SIF_Request messages even if you have called the Query.addFieldRestriction method. This property can be used when requesting data from agents that do not work well if SIF_Elements are present in the SIF_Request.

OneObjectPerResponse
Determines if the Adk renders SIF_Response packets with one SIF Data Object per packet regardless of the requestor's SIF_MaxBufferSize value. By default, this property is disabled, causing the Adk to fit as many SIF Data Objects per SIF_Response packet as possible.

OverrideSifVersions
Gets or sets the the versions of SIF supported by the agent when the class framework sends a SIF_Register message to the zone.

ProcessEventsFromSelf
Determines if the Adk processes or ignores SIF_Event messages that were reported by this agent (i.e. the SourceId of the SIF_Event matches the SourceId of this agent). By default, such events are ignored by the class framework and automatically acknowledged as successfully received.

static memberPROP_AUTH_LEVEL
adk.security.authenticationLevel

static memberPROP_DEFAULT_TIMEOUT
adk.defaultTimeout

static memberPROP_DISABLE_DISPATCHER
The adk.messaging.disableDispatcher property

static memberPROP_EFFECTIVE_BUFFER_SIZE
The adk.messaging.effectiveBufferSize property

static memberPROP_ENCRYPT_ALGORITHM
adk.encryption.algorithm

static memberPROP_ENCRYPT_KEY
adk.encryption.key

static memberPROP_ENCRYPT_KEYS_BASE
adk.encryption.keys.

static memberPROP_ENCRYPT_LEVEL
adk.security.encryptionLevel

static memberPROP_IGNORE_PROVISIONING_ERRORS
adk.provisioning.ignoreErrors

static memberPROP_KEEP_MESSAGE_CONTENT
adk.keepMessageContent

static memberPROP_MAX_BUFFER_SIZE
The adk.messaging.maxBufferSize property

static memberPROP_MESSAGING_MODE
The adk.messaging.mode property

static memberPROP_MESSAGING_TRANSPORT
The adk.messaging.transport property

static memberPROP_NOREQUESTINDIVIDUALELEMENTS
adk.messaging.noRequestIndividualElements

static memberPROP_ONEOBJECTPERRESPONSE
adk.messaging.oneResponsePerPacket

static memberPROP_PROCESSEVENTSFROMSELF
adk.messaging.processEventsFromSelf

static memberPROP_PROVISIONING_BATCH
adk.provisioning.batch

static memberPROP_PROVISIONING_MODE
adk.provisioning.mode

static memberPROP_PROVISIONING_OVERRIDESIFVERSIONS
adk.provisioning.overrideSifVersions

static memberPROP_PROVISIONING_ZISVERSION
adk.provisioning.zisVersion

static memberPROP_PULL_ACKACK
adk.messaging.pullAckAck

static memberPROP_PULL_DELAY_ON_ERROR
adk.messaging.pullFrequency

static memberPROP_PULL_FREQUENCY
adk.messaging.pullFrequency

static memberPROP_QUEUE_DISABLE
adk.queue.disable

static memberPROP_SLEEP_ON_DISC
The adk.messaging.sleepOnDisconnect property

static memberPROP_STRICT_VERSIONING
adk.messaging.strictVersioning

static memberPROP_USE_ZONE_STATUS_SYSTEM_CONTROL
adk.compatibility.useZoneStatusSystemControl

ProvisioningMode
Gets or sets the provisioning mode for this zone

PullAckAck
Set to True if the agent should Ack SIF_Acks received while doing a Pull request in Pull mode. This is for compatibility with some Zis's. Default to False.

PullDelayOnError
For pull agents, gets the amount of time in milliseconds the agent will delay when it encounters a transport error or disconnected zone when attempting to pull the next message from its queue.
For pull agents, sets the amount of time in milliseconds the agent will delay when it encounters a transport error or disconnected zone when attempting to pull the next message from its queue.

PullFrequency
Gets the Pull frequency when the agent is registered in Pull mode. By default, a Pull agent will query the ZIS for new messages every 30 seconds.

SetEncryptionKey(String, array<Byte>[]())
Adds the encryption key with the specified name to the properties

SleepOnDisconnect
Determines if the Adk should send a SIF_Sleep message to a zone when disconnecting. The default is true.
Determines if the Adk should send a SIF_Sleep message to a zone when disconnecting. The default is true.

StrictVersioning
Should the ADK use strict versioning

TransportProtocol
Gets or sets the name of the Transport Protocol to use for this agent or zone.

UseZoneStatusSystemControl
Use the SystemControl message to request SIF_ZoneStatus, defaults to false

ZisVersion
Gets the latest version of the SIF Specification supported by the Zone Integration Server to which the agent is connecting.

Remarks

The constructor will initialize each property to its default value if the property is defined in the application configuration file (more precisely, any appSetting property that begins with the string "adk.") Otherwise the Adk's factory defaults are used. Because of this it is possible to adjust an agent's properties at runtime by modifying the application config file.

The properties below are currently defined. Most properties can be set in both the agent or zone scope so that configurable options can be defined on a zone-by-zone basis. Properties set in the agent scope are global to the agent and inherited by all zones that have not explicitly overridden the property. To set a property in the agent scope, call Agent.getProperties method to obtain the agent's properties object, then call its setter methods. To set a property in the zone scope, call a zone's Zone.getProperties method to obtain the zone's AgentProperties object, then call its setter methods.

PropertyDescription
adk.messaging.mode
Indicates whether the agent should operate in Push or Pull mode. Possible values include AgentMessagingMode.Push and AgentMessagingMode.Pull. When Push mode is selected, the agent establishes a local socket to listen for incoming messages sent by the ZIS. (The Transport object associated with a zone dictates the type and parameters of the local socket. Transport properties are set independently in Transport objects.) When Pull mode is selected, the agent periodically polls the ZIS to check its queue for new messages. The default polling frequency can adjusted with the PullFrequency property. Per SIF specification, an agent must use the same messaging mode from the time it is registered on the ZIS until it is unregistered. Default Value: AgentMessagingMode.Pull
adk.messaging.transport
The transport protocol to use (e.g. "http", "https"). Default Value: http
adk.messaging.pullFrequency
For pull agents: the polling frequency in milliseconds. Default Value: 30 seconds
adk.messaging.pullDelayOnError
For pull agents, gets the amount of time in milliseconds the agent will delay when it encounters a transport error or disconnected zone when attempting to pull the next message from its queue. Default Value: 3 minutes
adk.messaging.maxBufferSize
The maximum size of messages (in bytes) that can be processed by this agent. This setting is used whenever the SIF_MaxBufferSize element is required in a SIF_Register or SIF_Request message. Default Value: 393216
adk.messaging.effectiveBufferSize
The maximum size of messages (in bytes) that will be processed in-memory before the Adk off-loads the message to the local file system for processing. This setting is used internally to influence memory management but is not used in any SIF messages. Default Value: 32000
adk.keepMessageContent
Determines if the Adk will retain SIF_Message XML content after it processes a message. When enabled, the SifMessageInfo.getMessage method returns a non-null value (otherwise it returns null). A SifMessageInfo object is passed to all message handlers such as OnEvent(Event, IZone, IMessageInfo), OnRequest(IDataObjectOutputStream, Query, IZone, IMessageInfo), and OnQueryResults(IDataObjectInputStream, SIF_Error, IZone, IMessageInfo). Default Value: False
adk.messaging.strictVersioning
When set to True, the agent will only parse messages received from agents that are using the same version of SIF as this agent. An agent declares the version of SIF it will use when initializing the Adk's class framework. When False, the agent parses messages from all versions of SIF supported by the Adk's SIF Data Objects (Sdo) library. Default Value: False
adk.messaging.oneObjectPerResponse
Instructs the Adk to return one SIF Data Object per SIF_Response packet. When disabled (the default), the Adk fits as many SIF Data Objects in a single response packet as allowed by the requestor's SIF_MaxBufferSize. Default Value: False
adk.messaging.processEventsFromSelf
Instructs the Adk to process SIF_Event messages that were reported by this agent (i.e. the SourceId of the SIF_Event matches the SourceId of this agent). By default, such events are ignored by the class framework and automatically acknowledged as successfully received. Default Value: False
adk.messaging.noRequestIndividualElements
A compatibility option that instructs the Adk to render SIF_Request messages without SIF_Element field restrictions. When this property is enabled, the class framework will not include SIF_Element elements in SIF_Request messages even if you have called the Query.addFieldRestriction method. This property can be used when requesting data from agents that do not work well if SIF_Elements are present in the SIF_Request. Default Value: False
adk.messaging.disableDispatcher
Advanced - Disables the Adk's message dispatcher, causing all messages received by the agent to be ignored and disposed of immediately without dispatching to the agent's message handlers. This property is only useful in rare situations when an agent sends messages to the zone integration server but does not want to process any messages in its queue. Default Value: False
adk.compatibility.useZoneStatusSystemControl
SIF 1.5 Experimental - When this property is true and the Adk is initialized for SIF 1.5 or later, it will issue a synchronous SIF_SystemControl/SIF_GetZoneStatus message when the Zone.GetZoneStatus method is called instead of using asynchronous SIF_Request messages. This mechanism of obtaining SIF_ZoneStatus is preferred over the traditional SIF_Request method, but is not officially supported in SIF as of 1.5. It is considered experimental. When this property is false (the default), the Adk issues SIF_Requests to obtain the SIF_ZoneStatus object. Default Value: False
adk.provisioning.zisVersion
Defines the latest version of the SIF Specification supported by the Zone Integration Server to which the agent is connecting. This property defaults to the latest version of the SIF Specification supported by the Adk. Currently, it affects how SIF_Register messages are sent: if the ZIS supports SIF 1.1 or later, the Adk will send a SIF_Register with multiple SIF_Version elements, one for each version of the SIF Specification supported by the Adk. The first SIF_Version will be the version passed to the Adk.initialize method. If the ZIS does not support SIF 1.1 or later, the Adk will send a SIF_Register with a single SIF_Version element where the value is equal to the version passed to the Adk.initialize method. Default Value: SifVersion.LATEST
adk.provisioning.overrideSifVersions
Overrides the way the Adk prepares SIF_Register/SIF_Version elements to include only the list of versions specified in the comma-delimited list. When connecting to a SIF 1.1 or later zone integration server, the class framework will include a SIF_Version element for the version of SIF used to initialize the Adk, followed by one additional SIF_Version element for each version specified by this property. Default value: null
adk.provisioning.batch
Controls how the Adk prepares SIF_Provide and SIF_Subscribe provisioning messages. When this property is set to false (the default), the Adk sends an individual SIF_Provide and SIF_Subscribe message to the zone for each SIF Data Object. If any of the messages fail with an Access Control error (Category 4), the error is recorded as a warning and subsequently returned by the Zone.getConnectWarnings method. All other SIF Errors result in an exception thrown by the Zone.connect method. When this property is set to true, SIF Data Objects are batched into a single message that will be accepted or rejected as a group by the zone integration server. Default Value: False
adk.provisioning.mode
The provisioning mode in effect for this zone. Possible values: "adk" for Adk-managed provisioning; "zis" for ZIS-managed provisioning; or "agent" for Agent-managed provisioning. Refer to the Adk Developer Guide for an explanation of the three provisioning modes. Default value: "adk"
adk.provisioning.ignoreErrors
A compatibility option that determines if the Adk will throw exceptions when a SIF_Error is received by the ZIS during Adk-managed provisioning. This property should be enabled when connecting to the OpenSIF ZIS (0.9.x) because that it incorrectly treats attempt to re-provide or re-subscribe as errors instead of successful statuses. Default Value: False
adk.queue.disable
Disables the Agent Local Queue. Default Value: False
adk.security.authenticationLevel
Authentication level to use for all communications with this zone. This value is specified in the header of all SIF messages to direct the Zone Integration Server to protect sending of the agent's messages to another agent with a lower authentication level. Default Value: 0
adk.security.encryptionLevel
Encryption level to use for all communications with this zone. This value is specified in the header of all SIF messages to direct the Zone Integration Server to protect sending of the agent's messages to another agent with a lower encryption level. Default Value: 0
adk.encryption.algorithm
The default algorithm used for writing passwords
adk.encryption.key
The name of the default key used for writing passwords
adk.encryption.keys.[KeyName]
The actual key to use for encryption or decryption where “keyname” matches the @KeyName attribute of the AuthenticationInfoPassword object
Inheritance Hierarchy
Object
AdkProperties
 AgentProperties

Assembly: Edustructures.SifWorks.Adk (Module: Edustructures.SifWorks.Adk) Version: 2.0.0.10