use of inputport.ConnectionListener in project GIPC by pdewan.
the class ADelayingObjectGroupSessionPortLauncher method launchSessionPartipant.
public static void launchSessionPartipant(String anId, String aName, boolean addConnectListener, boolean addReplyingReceiveListener, boolean greetOnReadingInput) {
// Tracer.showInfo(true);
// GlobalState.setRelayedCommunicaton(true);
RelayerClientAndServerSupport.setEfficientRelayedCommunicaton(true);
DelayUtlity.setDelayClientBufferSends(true);
// GlobalState.setCausalBroadcast(true);
// GlobalState.setDelayAndCausal(true);
DuplexRPCClientInputPort sessionManagerClientPort = DuplexRPCInputPortSelector.createDuplexRPCClientInputPort("localhost", "" + ADelayingRelayingSessionsServerLauncher.SESSION_SERVER_PORT, ADelayingRelayingSessionsServerLauncher.SESSION_SERVER_NAME, aName);
GroupSessionPort<Object> sessionPort = ObjectGroupSessionPortSelector.createObjectGroupSessionPort(sessionManagerClientPort, "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---------------------------------------");
if (greetOnReadingInput) {
Scanner in = new Scanner(System.in);
String message = in.nextLine();
sessionPort.sendAll(aName + " says hi to all");
while (true) {
in = new Scanner(System.in);
message = in.nextLine();
sessionPort.sendAll(message);
}
}
}
use of inputport.ConnectionListener 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 inputport.ConnectionListener 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 inputport.ConnectionListener in project GIPC by pdewan.
the class ADuplexRPCRelayedSessionPortLauncher method launchSessionPartipant.
public static void launchSessionPartipant(String anId, String aName, ParticipantChoice aChoice) {
// Tracer.showInfo(true);
// ObjectDuplexSessionPortSelector.setDuplexSessionPortFactory(
// new ADirectObjectDuplexSessionPortFactory());
// ObjectDuplexSessionPortSelector.setDuplexSessionPortFactory(
// new ARelayingObjectDuplexSessionPortFactory());
DuplexRPCSessionPort sessionPort = DuplexRPCSessionPortSelector.createDuplexRPCSessionPort("localhost", "" + SESSION_SERVER_PORT, SESSION_SERVER_NAME, "Test Session", anId, aName, aChoice);
// DuplexRPCSessionPort sessionPort = DuplexRPCSessionPortSelector.createDuplexRPCSessionPort("localhost",
// "" + SESSION_SERVER_PORT, aSessionServerName, "Test Session", anId, aName,
// aChoice
// );
ConnectionListener connectListener = new ACallingConnectListener(sessionPort);
sessionPort.addConnectionListener(connectListener);
Adder adder = new AnAdder();
sessionPort.register(Adder.class, adder);
sessionPort.connect();
}
Aggregations