|
Siena (v.1.5.5) API documentation | |||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
---|---|
PacketReceiver | abstract packet receiver. |
PacketReceiverFactory | creates PacketReceiver based on an external string representation. |
PacketSender | packet sender. |
PacketSenderFactory | creates PacketSenders based on the external address of their corresponding receivers. |
Class Summary | |
---|---|
GenericReceiverFactory | generic packet receiver factory. |
GenericSenderFactory | generic packet sender factory. |
KAPacketReceiver | receives packets through a TCP port. |
SSLPacketReceiver | receives packets through an SSL connection. |
TCPPacketReceiver | receives packets through a TCP port. |
UDPPacketReceiver | receives packets through a UDP port. |
Exception Summary | |
---|---|
InvalidReceiverException | invalid Siena receiver handler. |
InvalidSenderException | invalid Siena handler. |
PacketReceiverClosed | packet receiver has been closed |
PacketReceiverException | generic exception occurring when receiving packets |
PacketReceiverFatalError | fatal error in packet receiver |
PacketSenderException | generic error in sending packets |
TimeoutExpired | a timeout has expired during Siena operations |
Communication mechanisms used by Siena.
The basis for communication between Siena components is a generic,
uni-directional, point-to-point, packet-based communication service.
In essence, this mechanism is an abstraction of a
datagram link between two components. A link is defined by
the PacketSender
and PacketReceiver
interfaces, representing the
sender's and receiver's ends respectively.
As a first step in establishing a communication link, a receiver
creates a PacketReceiver
object.
Once a PacketReceiver
is active, a sender can create a
corresponding PacketSender
object to
send packets to the receiver. PacketSender
objects are
created idirectly through PacketSenderFactory
, using the receiver's external address
.
An external address of a PacketReceiver
is a
byte string that serves as a universal locator for that receiver. The
space of external addresses is obviously shared by all link types and
implementations. Therefore, in order to partition the address space,
an external address must comply with the following syntax:
address ::=
schema:
schema-dependent-part
Where schema is a short string, not containing the
":"
(colon) charachter, that uniquely identifies the type
of receiver, and schema-dependent-part is another string
whose format is specific to that type of receiver.
The current implementation of Siena provides three sender/receiver implementation pairs:
KAPacketSender
/KAPacketReceiver
: schema identifier "ka"
. Sends
packets through TCP connections. This sender/receiver pair attempts
to maintain and reuse persistent TCP connections ("KA" stands for
keep alive).
TCPPacketSender
/TCPPacketReceiver
: schema identifier "tcp"
. sends
packets through TCP connections. This sender/receiver pair uses one
connection per packet.
UDPPacketSender
/UDPPacketReceiver
: schema identifier "udp"
. Sends
packets using UDP datagrams.
SSLPacketSender
/SSLPacketReceiver
: schema identifier "ssl"
. Sends
packets through persistent ssl connections. This sender/receiver pair
attempts to maintain and reuse SSL connections.
"ir"
.
PacketReceiver
and PacketSender
that make use of the infra-red port. For example, these could be
called
org.xyz.IRPacketReceiver
and
org.xyz.IRPacketSender
.
org.xyz.IRSenderFactory
, to be used directly by
applications, or indirectly through the factory registration
feature of GenericSenderFactory
.
|
Siena (v.1.5.5) API documentation | |||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |