Channel
Channel belongs to a Channel Type ®
[Channel Type = {“Active”, “Passive”}]
{All channels are half-duplex. Active channels are sending main packages, passive channels are receiving main packages. A
physical server can have several passive channels and several active channels
for backward data flows.}
Active Channel is a Channel º
<It’s of active type.>
Passive Channel is a Channel º
<It’s of passive type.>
Active Channel communicates with a Passive Channel º
<Active and passive channels
are to work according to one channel policy.>
<<When one of communicated active
and passive channels is deleted, the other is to be deleted too.>>
<<If a channel is sending a
package, the package is to be received by the appropriate connected channel a bit
later.>>
Channel works according to a Channel Policy ®
Channel Policy holds Event Types –
Channel. Event Type
Event Type has a Main Package Type ®
Event Type can have an Acknowledgement Package Type ®
Main Package Type is a Package Type º
Acknowledgement Package Type is a Package Type º
Package is of a Package Type ®
Channel. Transmission
Channel has a Transmission Mode ®
[Transmission Mode =
{“Receiving”, “Sending”}]
Channel can have a Received Package ®
Channel can have a Sending Package ®
Channel has a Channel State ®
|
|
Transmission Mode |
Sending Package |
Received Package |
|
Idle |
Sending |
Null |
Null |
|
Sending |
Sending |
A main package according to Policy |
Null |
|
Receiving |
Receiving |
A main package according to Policy |
Null |
|
Idle Received |
Sending |
A main package according to Policy |
An ack. package according to Policy |
|
Error |
Any |
Other |
Other |
|
|
Transmission Mode |
Sending Package |
Received Package |
|
Receiving |
Receiving |
Null |
Null |
|
Received |
Receiving |
Null |
A main package according to Policy |
|
Sending |
Sending |
An ack. Package according to Policy |
A main package according to Policy |
|
Error |
Any |
Other |
Other |
<<Correct state transitions
for an active channel: Idle -> Sending -> Receiving -> Idle Received
-> Sending, Any -> Idle. Correct state transitions for a passive channel:
Receiving -> Received -> Sending -> Receiving, Any -> Receiving.
Any incorrect state transition (for example, packages not corresponding to
policy) cause the Idle state for active channels and the Receiving state for passive
channels.>>
Received Package is a Package º
Sending Package is a Package º
Channel. Connection
Connection communicates through a Socket º
<Each message of the socket
contains: connection configuration reference, channel priority, channel policy
reference, channel policy version, a package content.>
Connection consists of Channels ¬
Channel has a Priority ®
<Each channel has a unique
channel priority within a connection.>
<The priorities are numbered
from one till channels quantity within a connection.>
<<When several channels of
one connection is competing, packets are sent through a connection according to
channels’ priorities.>>
Client Connection is a Connection º
Server Connection is a Connection º
Client Connection communicates with a Server Connection º
<The communicated connections
are to be of one connection configuration.> {So,
their contents are to be the same too: channels, channel policies, channel
policy versions.}
<<When one of communicated client
and server connections is deleted, the other is to be deleted too.>>
Connection is of a Connection Configuration ®
<If the connection is server it
has channels according to the connection configuration.>
<If the connection is client it
has channels according to the connection configuration with inversed channel
types.>
<Channel priorities are the
same as those of prototypes.>
Channel. Connection Configuration
Connection Configuration consists of Channel Prototypes ¬
Channel Prototype has a Channel Policy ®
Channel Prototype has a server-side Channel Type ®
{Client-side channel type is opposite to the passive-side
one.}
Channel Prototype has a Priority ®
Channel. Connection Listener
Connection Listener is based on a Connection
Configuration ®
Connection Listener has accepted several Server Connections ¬
<All the server connections
are of the listener’s connection configuration.>
{Server connections are created only with the
help of a connection listener.}
Channel. Version
Channel Policy has a Version ®
{It serves for compatibility
checking.}
Channel.
Connection has a
[