public void send(SessionMessage msg, Member dest) {
try
{
msg.setAddress(localMember);
Member destination = dest;
if ( (destination == null) && (msg.getEventType() == SessionMessage.EVT_GET_ALL_SESSIONS) ) {
if (service.getMembers().length > 0)
destination = service.getMembers()[0];
}
msg.setTimestamp(System.currentTimeMillis());
java.io.ByteArrayOutputStream outs = new java.io.ByteArrayOutputStream();
java.io.ObjectOutputStream out = new java.io.ObjectOutputStream(outs);
out.writeObject(msg);
byte[] data = outs.toByteArray();
if(destination != null) {
Member tcpdest = dest;
if ( (tcpdest != null) && (!localMember.equals(tcpdest))) {
mReplicationTransmitter.sendMessage(msg.getSessionID(),
data,
InetAddress.getByName(tcpdest.getHost()),
tcpdest.getPort());
}//end if
}
else {
mReplicationTransmitter.sendMessage(msg.getSessionID(),data);
}