Search in sources :

Example 6 with Node

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()));
}
Also used : INode(games.strategy.net.INode) Messengers(games.strategy.net.Messengers) INode(games.strategy.net.INode) Node(games.strategy.net.Node) IServerMessenger(games.strategy.net.IServerMessenger) Test(org.junit.jupiter.api.Test)

Example 7 with Node

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);
}
Also used : INode(games.strategy.net.INode) Serializable(java.io.Serializable) INode(games.strategy.net.INode) Node(games.strategy.net.Node) Externalizable(java.io.Externalizable) MessageHeader(games.strategy.net.MessageHeader)

Example 8 with Node

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);
}
Also used : INode(games.strategy.net.INode) Node(games.strategy.net.Node)

Example 9 with Node

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();
}
Also used : INode(games.strategy.net.INode) Node(games.strategy.net.Node)

Aggregations

Node (games.strategy.net.Node)9 INode (games.strategy.net.INode)8 IServerMessenger (games.strategy.net.IServerMessenger)3 BeforeEach (org.junit.jupiter.api.BeforeEach)3 Test (org.junit.jupiter.api.Test)3 HashedPassword (games.strategy.engine.lobby.server.db.HashedPassword)2 UserController (games.strategy.engine.lobby.server.db.UserController)2 DBUser (games.strategy.engine.lobby.server.userDB.DBUser)2 IConnectionChangeListener (games.strategy.net.IConnectionChangeListener)2 GameDescription (games.strategy.engine.lobby.server.GameDescription)1 ChannelMessenger (games.strategy.engine.message.ChannelMessenger)1 MessageContext (games.strategy.engine.message.MessageContext)1 RemoteMessenger (games.strategy.engine.message.RemoteMessenger)1 UnifiedMessenger (games.strategy.engine.message.unifiedmessenger.UnifiedMessenger)1 MacFinder (games.strategy.net.MacFinder)1 MessageHeader (games.strategy.net.MessageHeader)1 Messengers (games.strategy.net.Messengers)1 Integration (games.strategy.test.Integration)1 Util (games.strategy.util.Util)1 Externalizable (java.io.Externalizable)1