Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
The ChannelSet is a set of Channels that are used to send messages to a
target destination. The ChannelSet improves the quality of service on the
client by hunting through its Channels to send messages in the face of
network failures or individual Channel problems.
channels
authenticated:Boolean
[read-only]
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Indicates whether the ChannelSet has an underlying Channel that successfully
authenticated with its endpoint.
This property can be used as the source for data binding. When this property is modified, it dispatches the propertyChange
event.
Implementation public function get authenticated():Boolean
channelIds:Array
[read-only]
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
The ids of the Channels used by the ChannelSet.
Implementation public function get channelIds():Array
channels:Array
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Provides access to the Channels in the ChannelSet.
This property may be used to assign a set of channels at once or channels
may be added directly to the ChannelSet via addChannel() individually.
If this ChannelSet is configured
automatically the individual
channels are created lazily and added to this property as needed.
Implementation public function get channels():Array
public function set channels(value:Array):void
Throws clustered:Boolean
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Indicates whether the ChannelSet targets a clustered destination.
If true, upon a successful connection the ChannelSet will query the
destination for all clustered endpoints for its Channels and will assign
failoverURIs to them.
Channel ids are used to assign failoverURIs to the proper Channel instances
so this requires that all Channels in the ChannelSet have non-null ids and an
Error will be thrown when this property is set to true if this is not the case.
If the ChannelSet is not using url load balancing on the client this
property should not be set to true.
Implementation public function get clustered():Boolean
public function set clustered(value:Boolean):void
connected:Boolean
[read-only]
Indicates whether the ChannelSet is connected.
This property can be used as the source for data binding. When this property is modified, it dispatches the propertyChange
event.
Implementation public function get connected():Boolean
currentChannel:Channel
[read-only]
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Returns the current Channel for the ChannelSet.
Implementation public function get currentChannel():Channel
heartbeatInterval:int
The number of milliseconds between heartbeats sent to the remote
host while this ChannelSet is actively connected but idle.
Any outbound message traffic will delay heartbeats temporarily, with
this number of milliseconds elapsing after the last sent message before
the next heartbeat is issued.
This property is useful for applications that connect to a remote host
to received pushed updates and are not actively sending any messages, but
still wish to be notified of a dropped connection even when the networking
layer fails to provide such notification directly. By issuing periodic
heartbeats the client can force the networking layer to report a timeout
if the underlying connection has dropped without notification and the
application can respond to the disconnect appropriately.
Any non-positive value disables heartbeats to the remote host.
The default value is 0 indicating that heartbeats are disabled.
If the application sets this value it should prefer a longer rather than
shorter interval, to avoid placing unnecessary load on the remote host.
As an illustrative example, low-level TCP socket keep-alives generally
default to an interval of 2 hours. That is a longer interval than most
applications that enable heartbeats will likely want to use, but it
serves as a clear precedent to prefer a longer interval over a shorter
interval.
If the currently connected underlying Channel issues poll requests to
the remote host, heartbeats are suppressed because the periodic poll
requests effectively take their place.
Implementation public function get heartbeatInterval():int
public function set heartbeatInterval(value:int):void
initialDestinationId:String
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Provides access to the initial destination this ChannelSet is used to access.
When the clustered property is true, this value is used to request available failover URIs
for the configured channels for the destination.
Implementation public function get initialDestinationId():String
public function set initialDestinationId(value:String):void
messageAgents:Array
[read-only]
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Provides access to the set of MessageAgents that use this ChannelSet.
Implementation public function get messageAgents():Array
public function ChannelSet(channelIds:Array = null, clusteredWithURLLoadBalancing:Boolean = false)
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Constructs a ChannelSet.
If the channelIds
argument is provided, the ChannelSet will
use automatically configured Channels obtained via ServerConfig.getChannel()
to reach a destination.
Attempting to manually assign Channels to a ChannelSet that uses configured
Channels is not allowed.
If the channelIds
argument is not provided or is null,
Channels must be manually created and added to the ChannelSet in order
to connect and send messages.
If the ChannelSet is clustered using url-load-balancing (where each server
declares a unique RTMP or HTTP URL and the client fails over from one URL to
the next), the first time that a Channel in the ChannelSet successfully connects
the ChannelSet will automatically make a request for all of the endpoints across
the cluster for all member Channels and will assign these failover URLs to each
respective Channel.
This allows Channels in the ChannelSet to failover individually, and when failover
options for a specific Channel are exhausted the ChannelSet will advance to the next
Channel in the set to attempt to reconnect.
Regardless of clustering, if a Channel cannot connect or looses
connectivity, the ChannelSet will advance to its next available Channel
and attempt to reconnect.
This allows the ChannelSet to hunt through Channels that use different
protocols, ports, etc., in search of one that can connect to its endpoint
successfully.
Parameters | channelIds:Array (default = null ) — The ids of configured Channels obtained from ServerConfig for this ChannelSet to
use. If null, Channels must be manually added to the ChannelSet.
|
|
| clusteredWithURLLoadBalancing:Boolean (default = false ) — True if the Channels in the ChannelSet are clustered
using url load balancing.
|
public function addChannel(channel:Channel):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Adds a Channel to the ChannelSet. A Channel with a null id cannot be added
to the ChannelSet if the ChannelSet targets a clustered destination.
Parameters
| channel:Channel — The Channel to add.
|
Throws | IllegalOperationError — If the ChannelSet is
configured , adding a Channel is not supported.
This error is also thrown if the ChannelSet's clustered property
is true but the Channel has a null id.
|
public function channelConnectHandler(event:ChannelEvent):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Handles a CONNECT ChannelEvent and redispatches the event.
Parameters
public function channelDisconnectHandler(event:ChannelEvent):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Handles a DISCONNECT ChannelEvent and redispatches the event.
Parameters
public function channelFaultHandler(event:ChannelFaultEvent):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Handles a ChannelFaultEvent and redispatches the event.
Parameters
public function connect(agent:MessageAgent):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Connects a MessageAgent to the ChannelSet. Once connected, the agent
can use the ChannelSet to send messages.
Parameters
public function disconnect(agent:MessageAgent):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Disconnects a specific MessageAgent from the ChannelSet. If this is the
last MessageAgent using the ChannelSet and the current Channel in the set is
connected, the Channel will physically disconnect from the server.
Parameters
public function disconnectAll():void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Disconnects all associated MessageAgents and disconnects any underlying Channel that
is connected.
Unlike disconnect(MessageAgent)
which is invoked by the disconnect implementations
of specific service components, this method provides a single, convenient point to shut down
connectivity between the client and server.
public function login(username:String, password:String, charset:String = null):mx.rpc:AsyncToken
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Authenticates the ChannelSet with the server using the provided credentials.
Unlike other operations on Channels and the ChannelSet, this operation returns an
AsyncToken that client code may add a responder to in order to handle success or
failure directly.
If the ChannelSet is not connected to the server when this method is invoked it will
trigger a connect attempt, and if successful, send the login command to the server.
Only one login or logout operation may be pending at a time and overlapping calls will
generate an IllegalOperationError.
Invoking login when the ChannelSet is already authenticated will generate also generate
an IllegalOperationError.
Parameters
| username:String — The username.
|
|
| password:String — The password.
|
|
| charset:String (default = null ) — The character set encoding to use while encoding the
credentials. The default is null, which implies the legacy charset of
ISO-Latin-1. The only other supported charset is "UTF-8".
|
Returns | mx.rpc:AsyncToken — Returns a token that client code may add a responder to in order to handle
success or failure directly.
|
Throws | IllegalOperationError — in two situations; if the ChannelSet is
already authenticated, or if a login or logout operation is currently in progress.
|
public function logout(agent:MessageAgent = null):mx.rpc:AsyncToken
Logs the ChannelSet out from the server. Unlike other operations on Channels
and the ChannelSet, this operation returns an AsyncToken that client code may
add a responder to in order to handle success or failure directly.
If logout is successful any credentials that have been cached for use in
automatic reconnects are cleared for the ChannelSet and its Channels and their
authenticated state is set to false.
If the ChannelSet is not connected to the server when this method is invoked it
will trigger a connect attempt, and if successful, send a logout command to the server.
The MessageAgent argument is present to support legacy logout behavior and client code that
invokes this method should not pass a MessageAgent reference. Just invoke logout()
passing no arguments.
This method is also invoked by service components from their logout()
methods, and these components pass a MessageAgent reference to this method when they logout.
The presence of this argument is the trigger to execute legacy logout behavior that differs
from the new behavior described above.
Legacy behavior only sends a logout request to the server if the client is connected
and authenticated.
If these conditions are not met the legacy behavior for this method is to do nothing other
than clear any credentials that have been cached for use in automatic reconnects.
Parameters
| agent:MessageAgent (default = null ) — Legacy argument. The MessageAgent that is initiating the logout.
|
Returns | mx.rpc:AsyncToken — Returns a token that client code may
add a responder to in order to handle success or failure directly.
|
Throws protected function messageHandler(event:MessageEvent):void
Redispatches message events from the currently connected Channel.
Parameters
public function removeChannel(channel:Channel):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Removes a Channel from the ChannelSet. If the Channel to remove is
currently connected and being used by the ChannelSet, it is
disconnected as well as removed.
Parameters
| channel:Channel — The Channel to remove.
|
Throws public function send(agent:MessageAgent, message:IMessage):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Sends a message from a MessageAgent over the currently connected Channel.
Parameters
Throws public function setCredentials(credentials:String, agent:MessageAgent, charset:String = null):void
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Stores the credentials and passes them through to every connected channel.
Parameters
| credentials:String — The credentials for the MessageAgent.
|
|
| agent:MessageAgent — The MessageAgent that is setting the credentials.
|
|
| charset:String (default = null ) — The character set encoding used while encoding the
credentials. The default is null, which implies the legacy encoding of
ISO-Latin-1.
|
Throws | IllegalOperationError — in two situations; if credentials
have already been set and an authentication is in progress with the remote
detination, or if authenticated and the credentials specified don't match
the currently authenticated credentials.
|
override public function toString():String
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Returns a String containing the ids of the Channels in the ChannelSet.
Returns | String — String representation of the ChannelSet.
|
Event Object Type: mx.messaging.events.ChannelEvent
property ChannelEvent.type = mx.messaging.events.ChannelEvent.CONNECT
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Dispatched after a Channel in the ChannelSet has connected to its endpoint.
The CONNECT event type; indicates that the Channel connected to its
endpoint.
The value of this constant is "channelConnect"
.
The properties of the event object have the following values:
Property | Value |
---|
bubbles | false |
cancelable | false |
channel | The channel that generated this event. |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
reconnecting | Indicates whether the channel
that generated this event is reconnecting. |
rejected | Indicates whether the channel that
generated this event was rejected. This would be true in the event that
the channel has been disconnected due to inactivity and should not attempt to
failover or connect on an alternate channel. |
Event Object Type: mx.messaging.events.ChannelEvent
property ChannelEvent.type = mx.messaging.events.ChannelEvent.DISCONNECT
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Dispatched after a Channel in the ChannelSet has disconnected from its
endpoint.
The DISCONNECT event type; indicates that the Channel disconnected from its
endpoint.
The value of this constant is "channelDisconnect"
.
The properties of the event object have the following values:
Property | Value |
---|
bubbles | false |
cancelable | false |
channel | The channel that generated this event. |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
reconnecting | Indicates whether the channel
that generated this event is reconnecting. |
rejected | Indicates whether the channel that
generated this event was rejected. This would be true in the event that
the channel has been disconnected due to inactivity and should not attempt to
failover or connect on an alternate channel. |
Event Object Type: mx.messaging.events.ChannelFaultEvent
property ChannelFaultEvent.type = mx.messaging.events.ChannelFaultEvent.FAULT
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Dispatched after a Channel in the ChannelSet has faulted.
The FAULT event type; indicates that the Channel faulted.
The value of this constant is "channelFault"
.
The properties of the event object have the following values:
Property | Value |
---|
bubbles | false |
cancelable | false |
channel | The Channel that generated this event. |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
faultCode | Provides destination-specific
details of the failure. |
faultDetail | Provides access to the
destination-specific reason for the failure. |
faultString | Provides access to the underlying
reason for the failure if the channel did not raise the failure itself. |
reconnecting | Indicates whether the channel
that generated this event is reconnecting. |
rootCause | Provides access to the underlying reason
for the failure if the channel did not raise the failure itself. |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
Event Object Type: mx.rpc.events.FaultEvent
property FaultEvent.type = mx.rpc.events.FaultEvent.FAULT
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
The fault event is dispatched when a login or logout call fails.
The FAULT event type.
The properties of the event object have the following values:
Property | Value |
---|
bubbles | false |
cancelable | true, calling preventDefault()
from the associated token's responder.fault method will prevent
the service or operation from dispatching this event |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
fault | The Fault object that contains the
details of what caused this event. |
message | The Message associated with this event. |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
token | The token that represents the call
to the method. Used in the asynchronous completion token pattern. |
Event Object Type: mx.events.PropertyChangeEvent
property PropertyChangeEvent.type = mx.events.PropertyChangeEvent.PROPERTY_CHANGE
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Dispatched when a property of the ChannelSet changes.
The
PropertyChangeEvent.PROPERTY_CHANGE
constant defines the value of the
type
property of the event object for a
PropertyChange
event.
The properties of the event object have the following values:
Property | Value |
---|
bubbles | Determined by the constructor; defaults to false. |
cancelable | Determined by the constructor; defaults to false. |
kind | The kind of change; PropertyChangeEventKind.UPDATE
or PropertyChangeEventKind.DELETE. |
oldValue | The original property value. |
newValue | The new property value, if any. |
property | The property that changed. |
source | The object that contains the property that changed. |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
Event Object Type: mx.rpc.events.ResultEvent
property ResultEvent.type = mx.rpc.events.ResultEvent.RESULT
Language Version: | ActionScript 3.0 |
Product Versions: | BlazeDS 4, LiveCycle Data Services 3 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
The result event is dispatched when a login or logout call successfully returns.
The RESULT event type.
The properties of the event object have the following values:
Property | Value |
---|
bubbles | false |
cancelable | true, preventDefault()
from the associated token's responder.result method will prevent
the service or operation from dispatching this event |
currentTarget | The Object that defines the
event listener that handles the event. For example, if you use
myButton.addEventListener() to register an event listener,
myButton is the value of the currentTarget . |
message | The Message associated with this event. |
target | The Object that dispatched the event;
it is not always the Object listening for the event.
Use the currentTarget property to always access the
Object listening for the event. |
result | Result that the RPC call returns. |
token | The token that represents the indiviudal call
to the method. Used in the asynchronous completion token pattern. |