use of port.delay.example.AnEchoingObjectReceiveListener in project GIPC by pdewan.
the class AFaultTolerantSessionPortLauncher method launchSessionPartipant.
public static void launchSessionPartipant(String anId, String aName, boolean addConnectListener, boolean addReplyingReceiveListener, boolean greetOnReadingInput) {
Tracer.showInfo(true);
RelayerClientAndServerSupport.setRelayedCommunicaton(false);
DelayUtlity.setDelayClientBufferSends(true);
// GlobalState.setCausalBroadcast(true);
// GroupSessionPort<Object> groupSessionPort = ObjectGroupStaticSessionPortSelector.createObjectGroupStaticSessionPort(serversDescription, null, aName);
// GroupMultiServerClientPort<Object> groupMultiServerPort = ObjectGroupMultiServerPortSelector.createGroupMultiServerClientPort(serversDescription, null, aName);
// DuplexClientInputPort<Object> sessionsServerObjectPort = new AReplicatedServerDuplexClientPort<Object>(groupMultiServerPort, SESSION_SERVER_NAME );
// DuplexRPCClientInputPort sessionsServerClientPort = DuplexRPCInputPortSelector.createDuplexRPCClientInputPort(sessionsServerObjectPort);
DuplexRPCClientInputPort sessionsServerClientPort = ReplicatedServerDuplexRPCClientPortSelector.createDuplexRPCPort(serversDescription, SESSION_SERVER_NAME, aName, ParticipantChoice.SYMMETRIC_JOIN);
DuplexSingleResponseUtlity.supportSingleResponse(sessionsServerClientPort);
// GlobalState.setDelayAndCausal(true);
// DuplexRPCClientInputPort sessionManagerClientPort = DuplexRPCInputPortSelector.createDuplexRPCClientInputPort(
// "localhost", "" + SESSION_SERVER_PORT, SESSION_SERVER_NAME, aName);
GroupSessionPort<Object> sessionPort = ObjectGroupSessionPortSelector.createObjectGroupSessionPort(sessionsServerClientPort, "Test Session", anId, aName, ParticipantChoice.MEMBER);
ACausalGroupSessionPortLauncherSupport.doCausalBroadcast(sessionPort);
// PrintingReplyingReceiveListener printingReplyingReceiveListener = new PrintingReplyingReceiveListener(sessionPort);
if (addConnectListener) {
ConnectionListener connectListener = new AnObjectGroupSendingConnectListener(sessionPort);
// sessionPort.addConnectListener(printingReplyingReceiveListener);
sessionPort.addConnectionListener(connectListener);
}
if (addReplyingReceiveListener)
sessionPort.addReceiveListener(new AnObjectGroupSendingReceiveListener(sessionPort));
else
sessionPort.addReceiveListener(new AnEchoingObjectReceiveListener());
// serverInputPort.addDisconnectListener(echoingReceiveListener);
// sessionPort.addReceiveListener(printingReplyingReceiveListener);
sessionPort.connect();
System.out.println("-----------------------Connected to Session Port---------------------------------------");
Scanner in = new Scanner(System.in);
if (greetOnReadingInput) {
String message = in.nextLine();
sessionPort.sendAll(aName + " says hi to all");
}
while (true) {
String message = in.nextLine();
sessionPort.sendAll(aName + message);
}
}
use of port.delay.example.AnEchoingObjectReceiveListener in project GIPC by pdewan.
the class ALatecomerAssymetricObjectGroupSessionPortLauncher method launchSessionPartipant.
public static void launchSessionPartipant(String anId, String aName, boolean addConnectListener, boolean addReplyingReceiveListener, boolean greetOnReadingInput) {
PortMisc.displayConnections();
// Tracer.showInfo(true);
// Tracer.setKeyWordStatus(Tracer.ALL_KEYWORDS, false);
// Tracer.setKeyWordStatus("socketip", true);
// Tracer.setKeyWordStatus("socketdip", true);
// Tracer.setKeyWordStatus("sesrelaylategrpobj", true);
// Tracer.setKeyWordStatus("repsrvdupsingleresp", true);
// Tracer.setKeyWordStatus("repsrvgrpsingleresp", true);
// Tracer.setKeyWordStatus("sesrelay", true);
ALatecomerRelayerAndSessionServerLauncherSupport.setLatecomerRelayedCommunicaton(true);
// GlobalState.setAnyCast(true);
DelayUtlity.setDelayClientBufferSends(true);
// DuplexRPCClientInputPort sessionManagerClientPort = DuplexRPCInputPortSelector.createDuplexRPCClientInputPort(
// "localhost", "" +
// ALatecomerSessionsServerLauncher.SESSION_SERVER_PORT,
// ALatecomerSessionsServerLauncher.SESSION_SERVER_NAME,
// aName);
DuplexRPCClientInputPort sessionManagerClientPort = ReplicatedServerDuplexRPCClientPortSelector.createDuplexRPCPort(serversDescription, SESSION_SERVER_NAME, aName, ParticipantChoice.SYMMETRIC_JOIN);
DuplexSingleResponseUtlity.supportSingleResponse(sessionManagerClientPort);
GroupSessionPort<Object> sessionPort = ObjectGroupSessionPortSelector.createObjectGroupSessionPort(sessionManagerClientPort, SESSION_NAME, anId, aName, ParticipantChoice.MEMBER);
// GlobalState.doCausalBroadcast(sessionPort);
if (addConnectListener) {
ConnectionListener connectListener = new AnObjectGroupSendingConnectListener(sessionPort);
sessionPort.addConnectionListener(connectListener);
}
if (addReplyingReceiveListener)
sessionPort.addReceiveListener(new AnObjectGroupSendingReceiveListener(sessionPort));
else
sessionPort.addReceiveListener(new AnEchoingObjectReceiveListener());
sessionPort.connect();
System.out.println("-----------------------Connected to Session Port---------------------------------------");
if (greetOnReadingInput) {
Scanner in = new Scanner(System.in);
// sessionPort.sendAll(aName + " says hi to all");
while (true) {
System.out.println("Please enter next input");
// in = new Scanner(System.in);
String message = in.nextLine();
sessionPort.sendAll(message);
}
}
}
use of port.delay.example.AnEchoingObjectReceiveListener in project GIPC by pdewan.
the class AnOldLatecomerObjectGroupSessionPortLauncher method launchSessionPartipant.
public static void launchSessionPartipant(String anId, String aName, boolean addConnectListener, boolean addReplyingReceiveListener, boolean greetOnReadingInput) {
PortMisc.displayConnections();
// Tracer.showInfo(true);
// Tracer.setKeyWordStatus(Tracer.ALL_KEYWORDS, false);
// Tracer.setKeyWordStatus("socketip", true);
// Tracer.setKeyWordStatus("socketdip", true);
// Tracer.setKeyWordStatus("sesrelaylategrpobj", true);
// Tracer.setKeyWordStatus("repsrvdupsingleresp", true);
// Tracer.setKeyWordStatus("repsrvgrpsingleresp", true);
// Tracer.setKeyWordStatus("sesrelay", true);
ALatecomerRelayerAndSessionServerLauncherSupport.setLatecomerRelayedCommunicaton(true);
// GlobalState.setAnyCast(true);
DelayUtlity.setDelayClientBufferSends(true);
// DuplexRPCClientInputPort sessionManagerClientPort = DuplexRPCInputPortSelector.createDuplexRPCClientInputPort(
// "localhost", "" +
// ALatecomerSessionsServerLauncher.SESSION_SERVER_PORT,
// ALatecomerSessionsServerLauncher.SESSION_SERVER_NAME,
// aName);
DuplexRPCClientInputPort sessionManagerClientPort = ReplicatedServerDuplexRPCClientPortSelector.createDuplexRPCPort(serversDescription, SESSION_SERVER_NAME, aName, ParticipantChoice.MEMBER);
DuplexSingleResponseUtlity.supportSingleResponse(sessionManagerClientPort);
GroupSessionPort<Object> sessionPort = ObjectGroupSessionPortSelector.createObjectGroupSessionPort(sessionManagerClientPort, SESSION_NAME, anId, aName, ParticipantChoice.MEMBER);
// GlobalState.doCausalBroadcast(sessionPort);
if (addConnectListener) {
ConnectionListener connectListener = new AnObjectGroupSendingConnectListener(sessionPort);
sessionPort.addConnectionListener(connectListener);
}
if (addReplyingReceiveListener)
sessionPort.addReceiveListener(new AnObjectGroupSendingReceiveListener(sessionPort));
else
sessionPort.addReceiveListener(new AnEchoingObjectReceiveListener());
sessionPort.connect();
System.out.println("-----------------------Connected to Session Port---------------------------------------");
if (greetOnReadingInput) {
Scanner in = new Scanner(System.in);
// sessionPort.sendAll(aName + " says hi to all");
while (true) {
System.out.println("Please enter next input");
// in = new Scanner(System.in);
String message = in.nextLine();
sessionPort.sendAll(message);
}
}
}
use of port.delay.example.AnEchoingObjectReceiveListener in project GIPC by pdewan.
the class AJoinerConnectingSessionObserver method processSessionMember.
void processSessionMember(ServerPortDescription aServerPortDescription) {
if (!myName.equals(aServerPortDescription.getName())) {
DuplexClientInputPort clientInputPort = DuplexObjectInputPortSelector.createDuplexClientInputPort(aServerPortDescription.getHost(), aServerPortDescription.getID(), aServerPortDescription.getName(), myName);
clientInputPort.addConnectionListener(new AFrostyObjectConnectionListener(clientInputPort));
clientInputPort.addReceiveListener(new AnEchoingObjectReceiveListener());
clientInputPorts.add(clientInputPort);
clientInputPort.connect();
// clientInputPort.send("Words of Robert Forst Please");
// nameToPort.put(aServerPortDescription.getName(), clientInputPort);
}
}
Aggregations