use of inputport.rpc.duplex.DuplexRPCClientInputPort 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.rpc.duplex.DuplexRPCClientInputPort in project GIPC by pdewan.
the class AServerConnectingConnectionListener method connected.
@Override
public void connected(String aRemoteEndName, ConnectionType aConnectionType) {
// super.connected(aRemoteEndName, aConnectionType);
// no super call as this conected may be a dummy call
DuplexRPCClientInputPort nextPort = DuplexRPCInputPortSelector.createDuplexRPCClientInputPort(nextServerPortDescription.getHost(), nextServerPortDescription.getID(), nextServerPortDescription.getName(), clientName);
nextConnectionListener.initInputPort(nextPort);
nextPort.addConnectionListener(nextConnectionListener);
nextPort.connect();
}
use of inputport.rpc.duplex.DuplexRPCClientInputPort in project GIPC by pdewan.
the class AnMVCServerConnectionListener method initInputPort.
@Override
public void initInputPort(InputPort anInputPort) {
inputPort = (DuplexRPCClientInputPort) anInputPort;
// create and set proxies
DuplexUpperCaser upperCaseProxy = (DuplexUpperCaser) DirectedRPCProxyGenerator.generateRPCProxy((DuplexRPCClientInputPort) inputPort, ADuplexRPCServerMVCLauncher.REGISTERED_DUPLEX_UPPER_CASER_CLASS);
model.setUpperCaser(upperCaseProxy);
// register remote object
((DuplexRPCClientInputPort) inputPort).register(model.getCounter());
}
use of inputport.rpc.duplex.DuplexRPCClientInputPort in project GIPC by pdewan.
the class ALatecomerAssymetricObjectGroupSessionPortLauncher method getPort.
protected InputPort getPort() {
DuplexRPCClientInputPort sessionManagerClientPort = ReplicatedServerDuplexRPCClientPortSelector.createDuplexRPCPort(serversDescription, SESSION_SERVER_NAME, name, ParticipantChoice.SYMMETRIC_JOIN);
// DuplexSingleResponseSetter.supportSingleResponse(sessionManagerClientPort);
GroupSessionPort<Object> sessionPort = ObjectGroupSessionPortSelector.createObjectGroupSessionPort(sessionManagerClientPort, SESSION_NAME, id, name, ParticipantChoice.MEMBER);
return sessionPort;
}
use of inputport.rpc.duplex.DuplexRPCClientInputPort 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);
}
}
}
Aggregations