10.24.0

FlowProperties Class

Defines Flow properties.

Definition

Namespace: SolaceSystems.Solclient.Messaging
Assembly: SolaceSystems.Solclient.Messaging (in SolaceSystems.Solclient.Messaging.dll) Version: 10.24.0
C#
[SerializableAttribute]
public class FlowProperties : BaseProperties
Inheritance
Object    BaseProperties    FlowProperties

Constructors

FlowProperties Class constructor

Properties

AckMode Controls how acknowledgements are generated for received Guaranteed messages. Possible values are defined in MessageAckMode Default MessageAckMode.AutoAck
AckThreshold The threshold for sending an acknowledgement, configured as a percentage. The API sends a transport acknowledgment every N messages where N is calculated as this percentage of the flow window size if the endpoint's max-delivered-unacked-msgs-per-flow setting at bind time is greater than or equal to the transport window size. Otherwise, N is calculated as this percentage of the endpoint's max-delivered-unacked-msgs-per-flow setting at bind time. The valid range is 1..75. The default value is 60.
AckTimerInMsecs The duration of the flow acknowledgement timer (in milliseconds). The valid range is 20..1500. The default value is 1000.
ActiveFlowInd When a Flow has the Active Flow Indication property enabled, the application will receive flow events when the flow becomes active, or inactive. If the underlying session capabilities indicate that the appliance does not support active flow indications, then ISession.CreateFlow() will fail immediately and set the subCode ActiveFlowIndicationUnsupported Default: false
AutoAck When set to true, the API generates application level acknowledgments for Guaranteed messages, when the receive delegate returns, this is equivalent to specifying AutoAck for AckMode.

When set to false, client applications must explicitly acknowledge Guaranteed messages, if they do not want to receive them again when reconnecting.

Default: true
Obsolete.
BindBlocking Controls whether or not to block when creating a flow. When set to true, the create flow operation blocks awaiting appliance's response. The default value is true.
BindRetries The maximum number of bind attempts to make. The default value is 3.
BindTimeoutInMsecs The timeout used (in milliseconds) when creating a flow in blocking mode. Default: 10000 msecs
Count Returns the count of properties.
(Inherited from BaseProperties)
FlowStartState Controls whether the flow should be created in a "start" or "stop" state with respect to receiving messages. Flow start/stop state can be changed later through Start or Stop. Default: true
MaxReconnectTries Flows can be configured to attempt re-binding automatically, mainly when a replay is started. This property controls the number of times the re-bind is attempted. -1 means infinite retries. 0 means no auto rebind.
MaxUnackedMessages This property may only be set when the Flow property AckMode is set to ClientAck. When set to a positive value, this property controls the maximum number of messages that may be unacknowledged on the Flow (Ack(Int64) is called to acknowledge messages and remove those messages from the message spool.) This property cannot be used to increase the appliance configured maximum number of acknowledged messages on the endpoint. When set to -1, the appliance configured maximum controls how many unacknowledged messages may be received by the application. Valid values are -1 and >0.
NoLocal If the connected peer supports No Local, then messages published on the session will not appear in flows created with this property set to true, even if the endpoint contains a subscription that matches the published topic. The ISession.CreateFlow(...) will fail and set subcode NoLocalNotSupported if the connected peer does not support No Local.
ReconnectRetryIntervalMs Flows can be configured to attempt re-binding automatically, mainly when a replay is started. This property controls how long to wait between re-bind attempts, in milliseconds.
ReplayStartLocation Deprecated: use ReplayStartLocationEx instead. When a Flow is created, the application may request replay of messages from the replay log, even messages that have been previously delivered and removed the from topic endpoint or queue. The replay start location may be one of the following:
  • Beginning to indicate that all messages available should be replayed.
  • A start location created from Date(DateTime). All messages after the specificed date will be replayed.

Obsolete.
ReplayStartLocationEx When a Flow is created, the application may request replay of messages from the replay log, even messages that have been previously delivered and removed the from topic endpoint or queue. The replay start location may be one of the following:
RequiredOutcomeFailed Allows flow to use Settle(Int64, MessageOutcome) with "Failed" outcome. Requires broker capability AD_APP_ACK_FAILED. Default Value: false (disabled).
RequiredOutcomeRejected Allows flow to use Settle(Int64, MessageOutcome) with "Rejected" outcome. Requires broker capability AD_APP_ACK_FAILED. Default Value: false (disabled).
Selector A JMS-defined selector. Default: Empty string
WindowSize The Guaranteed message window size for the flow. This sets the maximum number of messages that can be in transit (that is, the messages are sent from the appliance, but are not yet delivered to the application). The valid range is 1..255. The default window size is 255.

Methods

Clear Removes all properties.
(Inherited from BaseProperties)
Clone Creates a new object that is a deep copy of the current instance.
(Inherited from BaseProperties)
Equals Determines whether the specified Object is equal to the current Object.
(Inherited from BaseProperties)
FinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object)
FromDictionary Creates and returns a new FlowProperties given a dictionary of key/value strings

where:

key: is a string representation of a given FlowProperties property FlowPropertiesPROPERTY

value: is a string representation of the value of that property

Rules:

1. Keys that are not in the FlowProperties' property set FlowPropertiesPROPERTY, are ignored and a warning log is generated.

2. If a property is omitted, the default value is used.

3. Validation and type checking are performed on the provided values, and a conversion exception is thrown if any of the provided values cannot be converted.

4. Read-only properties are ignored.

FromDictionaryWithPrefix Creates and returns a new FlowProperties given a dictionary of key/value strings

where:

key: is a string representation of a given FlowProperties property FlowPropertiesPROPERTY prefixed with a string "prefix".

value: is a string representation of the value of that property.

Rules:

1. Keys that are not in the FlowProperties's property set FlowPropertiesPROPERTY, are ignored and a warning log is generated

2. If a property is omitted, the default value is used.

3. Validation and type checking is performed on the provided values; a conversion exception is thrown if any of the provided values cannot be converted.

4. Read-only properties are ignored.

GetHashCode Serves as a hash function for a particular type.
(Inherited from BaseProperties)
GetPropertyValue Gets the property value associated with the given key.
(Inherited from BaseProperties)
GetTypeGets the Type of the current instance.
(Inherited from Object)
MemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
RemoveProperty internal method to remove property from property map
(Inherited from BaseProperties)
SetCCSMPProperty Sets a property to be passed directly to CCSMP. Properties set in this manner will always override properties set using the shortcut properties, regardless of order.
(Inherited from BaseProperties)
SetPropertyValue Associates a property key with a property value.
(Inherited from BaseProperties)
SetReferencePropertyValue Associates a property key with a property value. The value will not be marked for serialization.
(Inherited from BaseProperties)
ToDictionary Returns a new IDictionary instance where:

key: is a string representation of a given FlowProperties property FlowPropertiesPROPERTY.

value: is a string representation of the value of that property, or null if the property's value is null.

Note that only readable and writable properties are returned in the dictionary. Read-only properties are ignored.
ToDictionaryWithPrefix Returns a new IDictionary instance where:

key: is a string representation of a given FlowProperties property FlowPropertiesPROPERTY prefixed with a string "prefix"

value: is a string representation of the value of that property, or null if the property's value is null.

Note that only readable and writable properties are returned in the dictionary. Read-only properties are ignored.
ToString Returns a String that represents the current Object.
(Overrides ObjectToString)

See Also