Class
Tree
          
SUMMARY: INNER | FIELD | CONSTR | METHODDETAIL: FIELD | CONSTR | METHOD
 

com.newstep.solid.comm
Class ProtocolElement
com.newstep.solid.comm.AbstractChannel
  |
  +--com.newstep.solid.comm.ProtocolElement
All Implemented Interfaces:
       Channel, ChannelListener
Direct Known Subclasses:
       FramingElement, HeartBeatAckElement, RedundantElement, RttChannel

public abstract class ProtocolElement      
ProtocolElement provides a mechanism for creating discrete protocol functions and chaining them together into a protocol. The chaining mechanism provided by the ProtocolElement allows new protocols to be reuse the discrete functions.

ProtocolElement represents a Channel that provides a discrete function within a protocol stack/chain (e.g. message framing, message ordering). As such, ProtocolElements do not stand on their own as a discrete protocols, each element delegates further processing to a sub-channel. Protocols are realized through the chaining of ProtocolElements and Channels. Examples of possible protocol elements are :
- message framing
- message acknowledgment & retransmission
- message ordering
- heart beating
- channel redundancy
- encryption

NOTE: Many existing protocols are composed of functions that have interdepencies that do not support segregation. As such the ProtocolElement supports the adoption of these protocols by allowing multiple functions to be implemented by a single ProtocolElement. In the worst case, a protocol implementation would be composed of a single ProtocolElement.

As such ProtocolElements support both the regular Channel interface for client access and the Channel listener interface such that they can
Abstract.
Implements:
ChannelListener
 
Links:
Kernel Association Association Link
to Interface Channel
Associates type:
aggregation
Client cardinality:
1
Client navigability:
NOT NAVIGABLE
Client visibility:
private
Supplier cardinality:
1
Supplier navigability:
NAVIGABLE
Supplier role:
subChannel
Supplier visibility:
private
Custom properties
link:
aggregation
 
Implementation Implementation Link
to Interface ChannelListener
ProtocolElement provides a mechanism for creating discrete protocol functions and chaining them together into a protocol. The chaining mechanism provided by the ProtocolElement allows new protocols to be reuse the discrete functions.

ProtocolElement represents a Channel that provides a discrete function within a protocol stack/chain (e.g. message framing, message ordering). As such, ProtocolElements do not stand on their own as a discrete protocols, each element delegates further processing to a sub-channel. Protocols are realized through the chaining of ProtocolElements and Channels. Examples of possible protocol elements are :
- message framing
- message acknowledgment & retransmission
- message ordering
- heart beating
- channel redundancy
- encryption

NOTE: Many existing protocols are composed of functions that have interdepencies that do not support segregation. As such the ProtocolElement supports the adoption of these protocols by allowing multiple functions to be implemented by a single ProtocolElement. In the worst case, a protocol implementation would be composed of a single ProtocolElement.

As such ProtocolElements support both the regular Channel interface for client access and the Channel listener interface such that they can
 
Generalization Generalization Link
to Class AbstractChannel
ProtocolElement provides a mechanism for creating discrete protocol functions and chaining them together into a protocol. The chaining mechanism provided by the ProtocolElement allows new protocols to be reuse the discrete functions.

ProtocolElement represents a Channel that provides a discrete function within a protocol stack/chain (e.g. message framing, message ordering). As such, ProtocolElements do not stand on their own as a discrete protocols, each element delegates further processing to a sub-channel. Protocols are realized through the chaining of ProtocolElements and Channels. Examples of possible protocol elements are :
- message framing
- message acknowledgment & retransmission
- message ordering
- heart beating
- channel redundancy
- encryption

NOTE: Many existing protocols are composed of functions that have interdepencies that do not support segregation. As such the ProtocolElement supports the adoption of these protocols by allowing multiple functions to be implemented by a single ProtocolElement. In the worst case, a protocol implementation would be composed of a single ProtocolElement.

As such ProtocolElements support both the regular Channel interface for client access and the Channel listener interface such that they can
 
 

Field Summary
private Channel
Constructor Summary
public void
public void
public void
Method Summary
public abstract void
public Address
public Address
public Channel
public abstract void
public abstract void
public void
public void
public abstract void
write(Message message)
Field Detail
subChannel
Channel subChannel
 

subChannel
private Channel subChannel
Multiplicity:
1
 
Constructor Detail
ProtocolElement
public void ProtocolElement ()
 
Stereotype:
create
 

ProtocolElement
public void ProtocolElement (Channel subChannel, ChannelListener listener)
 
Stereotype:
create
 

ProtocolElement
public void ProtocolElement (Channel subChannel)
 
Stereotype:
create
 
Method Detail
close
public abstract void close ()
 
Abstract.
Throws:
ChannelException
 

getLocalAddress
public Address getLocalAddress ()
 
 

getRemoteAddress
public Address getRemoteAddress ()
 
 

getSubChannel
public Channel getSubChannel ()
 
 

onMessage
public abstract void onMessage (Message message)
 
Abstract.
 

open
public abstract void open ()
 
Abstract.
Throws:
ChannelException
 

setRole
public void setRole (Type role)
 
 

setSubChannel
public void setSubChannel (Channel channel)
 
 

write
public abstract void write (Message message)
 
Abstract.
Throws:
ChannelException
 

Class
Tree
          
SUMMARY: INNER | FIELD | CONSTR | METHODDETAIL: FIELD | CONSTR | METHOD