Examples of PlayerSession


Examples of org.menacheri.jetserver.app.PlayerSession

    CountDownLatch latch2 = new CountDownLatch(2);
    AtomicLong counter = new AtomicLong(0l);
    Session gameRoomSession = new TestGameRoom(sessionBuilder, counter,
        latch1);
    GameRoom gameRoom = (GameRoom) gameRoomSession;
    PlayerSession playerSession = gameRoom.createPlayerSession(null);
    PlayerSession playerSession2 = gameRoom.createPlayerSession(null);
    PlayerSession playerSession3 = gameRoom.createPlayerSession(null);
    gameRoom.connectSession(playerSession);
    gameRoom.connectSession(playerSession2);
    gameRoom.connectSession(playerSession3);
    playerSession.addHandler(new SessionHandlerLatchCounter(playerSession,
        counter, latch1));
    playerSession2.addHandler(new SessionHandlerLatchCounter(playerSession,
        counter, latch2));
    playerSession3.addHandler(new SessionHandlerLatchCounter(playerSession,
        counter, latch2));
    // start test
    Event event1 = Events.event(null, Events.DISCONNECT);
    playerSession.onEvent(event1);// disconnect session 1.
    assertFalse(latch1.await(1000, TimeUnit.MILLISECONDS));// This is just a wait
    Event message = Events.event(null, Events.SESSION_MESSAGE);
    playerSession.onEvent(message);
    assertFalse(latch1.await(500, TimeUnit.MILLISECONDS));// Ensure that the message is not sent.
    Event event2 = Events.event(null, Events.DISCONNECT);
    Event event3 = Events.event(null, Events.DISCONNECT);
    playerSession2.onEvent(event2);
    playerSession3.onEvent(event3);

    assertTrue(latch2.await(500, TimeUnit.MILLISECONDS));
    // 1 ondisconnect(session1) + 0 onnetwork(session1) + 2 ondisconnect(session2 and 3)
    assertTrue(counter.get() == 3);
  }
View Full Code Here

Examples of org.menacheri.jetserver.app.PlayerSession

    }
    for (GameRoom gameRoom : gameRoomList)
    {
      for (int j = 1; j <= SESSIONS_PER_GAME_ROOM; j++)
      {
        PlayerSession playerSession = gameRoom.createPlayerSession(null);
        gameRoom.connectSession(playerSession);
        playerSession.addHandler(new SessionHandler(playerSession));
        sessionList.add(playerSession);
      }
    }
  }
View Full Code Here

Examples of org.menacheri.jetserver.app.PlayerSession

    }
    else if (Events.RECONNECT == type)
    {
      LOG.debug("Reconnect attempt from {}", channel.getRemoteAddress());
      String reconnectKey = NettyUtils.readString(buffer);
      PlayerSession playerSession = lookupSession(reconnectKey);
      handleReconnect(playerSession, channel, buffer);
    }
    else
    {
      LOG.error("Invalid event {} sent from remote address {}. "
View Full Code Here

Examples of org.menacheri.jetserver.app.PlayerSession

    return player;
  }
 
  public PlayerSession lookupSession(final String reconnectKey)
  {
    PlayerSession playerSession = (PlayerSession)reconnectRegistry.getSession(reconnectKey);
    if(null != playerSession)
    {
      synchronized(playerSession){
        // if its an already active session then do not allow a
        // reconnect. So the only state in which a client is allowed to
        // reconnect is if it is "NOT_CONNECTED"
        if(playerSession.getStatus() == Session.Status.NOT_CONNECTED)
        {
          playerSession.setStatus(Session.Status.CONNECTING);
        }
        else
        {
          playerSession = null;
        }
View Full Code Here

Examples of org.menacheri.jetserver.app.PlayerSession

    String refKey = NettyUtils.readString(buffer);
   
    GameRoom gameRoom = lookupService.gameRoomLookup(refKey);
    if(null != gameRoom)
    {
      PlayerSession playerSession = gameRoom.createPlayerSession(player);
      gameRoom.onLogin(playerSession);
      String reconnectKey = (String)idGeneratorService
          .generateFor(playerSession.getClass());
      playerSession.setAttribute(JetConfig.RECONNECT_KEY, reconnectKey);
      playerSession.setAttribute(JetConfig.RECONNECT_REGISTRY, reconnectRegistry);
      LOG.trace("Sending GAME_ROOM_JOIN_SUCCESS to channel {}", channel.getId());
      ChannelBuffer reconnectKeyBuffer = ChannelBuffers.wrappedBuffer(NettyUtils.createBufferForOpcode(Events.GAME_ROOM_JOIN_SUCCESS), NettyUtils.writeString(reconnectKey));
      ChannelFuture future = channel.write(reconnectKeyBuffer);
      connectToGameRoom(gameRoom, playerSession, future);
      loginUdp(playerSession, buffer);
View Full Code Here

Examples of org.menacheri.jetserver.app.PlayerSession

        handleGameRoomJoin(player, channel, credList.get(2));
      }
      else if (type == Events.RECONNECT)
      {
        LOG.debug("Reconnect attempt from {}", channel.getRemoteAddress());
        PlayerSession playerSession = lookupSession((String)event.getSource());
        handleReconnect(playerSession, channel);
      }
      else
      {
        LOG.error(
View Full Code Here

Examples of org.menacheri.jetserver.app.PlayerSession

    }
  }

  public PlayerSession lookupSession(final String reconnectKey)
  {
    PlayerSession playerSession = (PlayerSession)reconnectRegistry.getSession(reconnectKey);
    if(null != playerSession)
    {
      synchronized(playerSession){
        // if its an already active session then do not allow a
        // reconnect. So the only state in which a client is allowed to
        // reconnect is if it is "NOT_CONNECTED"
        if(playerSession.getStatus() == Session.Status.NOT_CONNECTED)
        {
          playerSession.setStatus(Session.Status.CONNECTING);
        }
        else
        {
          playerSession = null;
        }
View Full Code Here

Examples of org.menacheri.jetserver.app.PlayerSession

  public void handleGameRoomJoin(Player player, Channel channel, String refKey)
  {
    GameRoom gameRoom = lookupService.gameRoomLookup(refKey);
    if (null != gameRoom)
    {
      PlayerSession playerSession = gameRoom.createPlayerSession(player);
      gameRoom.onLogin(playerSession);
      String reconnectKey = (String)idGeneratorService
          .generateFor(playerSession.getClass());
      playerSession.setAttribute(JetConfig.RECONNECT_KEY, reconnectKey);
      playerSession.setAttribute(JetConfig.RECONNECT_REGISTRY, reconnectRegistry);
      LOG.trace("Sending GAME_ROOM_JOIN_SUCCESS to channel {}",
          channel.getId());
      ChannelFuture future = channel.write(eventToFrame(
          Events.GAME_ROOM_JOIN_SUCCESS, reconnectKey));
      connectToGameRoom(gameRoom, playerSession, future);
View Full Code Here

Examples of org.menacheri.jetserver.app.PlayerSession

    }
    for (GameRoom gameRoom : gameRoomList)
    {
      for (int j = 1; j <= SESSIONS_PER_GAME_ROOM; j++)
      {
        PlayerSession playerSession = gameRoom.createPlayerSession(null);
        gameRoom.connectSession(playerSession);
        playerSession.addHandler(new SessionHandler(playerSession));
        sessionList.add(playerSession);
      }
    }
  }
View Full Code Here

Examples of uk.co.oliwali.HawkEye.PlayerSession

        super(plugin);
    }

    @Override
    public boolean rollback(CommandSender sender, String senderName, String target) {
        PlayerSession session = SessionManager.getSession(sender);

        // Check if player already has a rollback processing
        if (session.doingRollback()){
            Util.message(senderName, ChatColor.RED + "Unable to rollback player! You already have a rollback processing!");
            return false;
        }

        SearchParser parser = null;
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.