use of games.strategy.net.Node in project triplea by triplea-game.
the class StatusTest method testStatus.
@Test
public void testStatus() throws Exception {
final IServerMessenger messenger = mock(IServerMessenger.class);
final INode dummyNode = new Node("dummy", InetAddress.getLocalHost(), 0);
when(messenger.getLocalNode()).thenReturn(dummyNode);
when(messenger.getServerNode()).thenReturn(dummyNode);
when(messenger.isConnected()).thenReturn(true);
when(messenger.isServer()).thenReturn(true);
final Messengers messengers = new Messengers(messenger);
final StatusManager manager = new StatusManager(messengers);
assertNull(manager.getStatus(messenger.getLocalNode()));
manager.setStatus("test");
Interruptibles.sleep(200);
assertEquals("test", manager.getStatus(messenger.getLocalNode()));
assertEquals("test", new StatusManager(messengers).getStatus(messenger.getLocalNode()));
}
use of games.strategy.net.Node in project triplea by triplea-game.
the class Decoder method readMessageHeader.
private MessageHeader readMessageHeader(final SocketChannel channel, final ObjectInputStream objectInput) throws IOException, ClassNotFoundException {
final INode to;
if (objectInput.read() == 1) {
to = null;
} else {
if (objectInput.read() == 1) {
// this may be null if we
// have not yet fully joined the network
to = nioSocket.getLocalNode();
} else {
to = new Node();
((Node) to).readExternal(objectInput);
}
}
final INode from;
final int readMark = objectInput.read();
if (readMark == 1) {
from = nioSocket.getRemoteNode(channel);
} else if (readMark == 2) {
from = null;
} else {
from = new Node();
((Node) from).readExternal(objectInput);
}
final Serializable message;
final byte type = (byte) objectInput.read();
if (type != Byte.MAX_VALUE) {
final Externalizable template = getTemplate(type);
template.readExternal(objectInput);
message = template;
} else {
message = (Serializable) objectInput.readObject();
}
return new MessageHeader(to, from, message);
}
use of games.strategy.net.Node in project triplea by triplea-game.
the class SpokeInvoke method readExternal.
@Override
public void readExternal(final ObjectInput in) throws IOException, ClassNotFoundException {
super.readExternal(in);
invoker = new Node();
((Node) invoker).readExternal(in);
}
use of games.strategy.net.Node in project triplea by triplea-game.
the class GameDescription method readExternal.
@Override
public void readExternal(final ObjectInput in) throws IOException {
hostedBy = new Node();
((Node) hostedBy).readExternal(in);
port = in.readInt();
startDateTime = Instant.ofEpochMilli(in.readLong());
playerCount = in.readByte();
round = in.readUTF();
status = GameStatus.values()[in.readByte()];
version = in.readInt();
hostName = in.readUTF();
comment = in.readUTF();
gameName = in.readUTF();
passworded = in.readBoolean();
engineVersion = in.readUTF();
gameVersion = in.readUTF();
botSupportEmail = in.readUTF();
}
Aggregations