Generic transport - specific implementations should extend this abstract class. Features which are provided to the subclasses include
- version checking
- marshalling and unmarshalling
- message bundling (handling single messages, and message lists)
- incoming packet handler
- loopback
A subclass has to override
- {@link #sendMulticast(byte[],int,int)}
- {@link #sendUnicast(org.jgroups.PhysicalAddress,byte[],int,int)}
- {@link #init()}
- {@link #start()}: subclasses must call super.start() after they initialize themselves (e.g., created their sockets).
- {@link #stop()}: subclasses must call super.stop() after they deinitialized themselves
- {@link #destroy()}
The create() or start() method has to create a local address.
The {@link #receive(Address,byte[],int,int)} method mustbe called by subclasses when a unicast or multicast message has been received.
@author Bela Ban