next up previous contents
Next: Membership Up: Utility classes Previous: Utility classes

Address

Addresses (JavaGroups.JavaStack.Address) are used to represent group member locations, they are mainly used in the destination and source fields of messages (see 3.1.3). An address at the Channel level is simply an opaque Object, however, channel implementations will typically use subclasses to represent implementation-specific addresses. The JChannel implementation uses the combination of an IP address and a port for its addresses. An Address contains a method for comparing them to other Addresses; this will be used to establish a deterministic ordering between sets of addresses (used by Membership below).

The JChannel implementation knows about Addresses: the UDP layer for example creates a local address when started (in the form of an Address). However, when passed up to the application, it would be passed as an Object. JChannel protocol layers would cast the Object to an Address, but addresses would not be allowed to be interpreted as any subclass when crossing the channel boundary: applications treat addresses as opaque handles which can be used to send messages. This allows to port JavaGroups onto different group transports, with different address schemes, without affecting applications.




1999-12-13