Package com.sun.sgs.impl.sharedutil

Examples of com.sun.sgs.impl.sharedutil.MessageBuffer


     *    login request, or {@code null}
     */
    private void loginFailure(String reason, Throwable ignore) {
  // for now, override specified reason.
  reason = DEFAULT_LOGIN_FAILED_REASON;
        MessageBuffer buf =
      new MessageBuffer(1 + MessageBuffer.getSize(reason));
        buf.putByte(SimpleSgsProtocol.LOGIN_FAILURE).
            putString(reason);
        writeNow(ByteBuffer.wrap(buf.getBuffer()), true);
  monitorDisconnection();
    }
View Full Code Here


  int numMessages = 4;
  DummyClient client = createClientAndReassignIdentity(newNodeHost, true);
  try {
      client.waitForSuspendMessages();
      for (int i = 0; i < numMessages; i++) {
    MessageBuffer buf = new MessageBuffer(4);
    buf.putInt(i);
    client.sendMessage(buf.getBuffer(), false);
      }
      Thread.sleep(1000);
      client.sendSuspendMessagesComplete();
      SgsTestNode newNode = additionalNodes.get(newNodeHost);
      client.waitForRelocationNotification(newNode.getAppPort());
View Full Code Here

  DummyClient client = createClientAndReassignIdentity(newNodeHost, true);
  try {
      client.waitForSuspendMessages();
      client.sendSuspendMessagesComplete();
      for (int i = 0; i < numMessages; i++) {
    MessageBuffer buf = new MessageBuffer(4);
    buf.putInt(i);
    client.sendMessage(buf.getBuffer(), false);
      }
      SgsTestNode newNode = additionalNodes.get(newNodeHost);
      client.waitForRelocationNotification(newNode.getAppPort());
      // Make sure that all messages received after the suspend was
      // completed have been dropped.
View Full Code Here

  }

  public void receivedMessage(ByteBuffer message) {
            byte[] bytes = new byte[message.remaining()];
            message.asReadOnlyBuffer().get(bytes);
      MessageBuffer buf = new MessageBuffer(bytes);
      String action = buf.getString();
      DataManager dataManager = AppContext.getDataManager();
      ClientSession session = sessionRef.get();
      if (action.equals("join")) {
    String channelName = buf.getString();
    System.err.println("DummyClientSessionListener: join request, " +
           "channel name: " + channelName +
           ", user: " + name);
    Channel channel =
        (Channel) dataManager.getBinding(channelName);
    channel.join(session);
    session.send(message.asReadOnlyBuffer());
      } else if (action.equals("leave")) {
    String channelName = buf.getString();
    System.err.println("DummyClientSessionListener: leave request, " +
           "channel name: " + channelName +
           ", user: " + name);
    Channel channel =
        (Channel) dataManager.getBinding(channelName);
View Full Code Here

    protected void sendMessagesToChannel(
  final String channelName, int numMessages)
  throws Exception
    {
  for (int i = 0; i < numMessages; i++) {
      final MessageBuffer buf = (new MessageBuffer(4)).putInt(i);
      System.err.println("Sending message: " +
             HexDumper.format(buf.getBuffer()));
     
      txnScheduler.runTask(
    new TestAbstractKernelRunnable() {
        public void run() {
      Channel channel = getChannel(channelName);
      channel.send(null, ByteBuffer.wrap(buf.getBuffer()));
        }
    }, taskOwner);
  }
    }
View Full Code Here

      // a LOGIN_SUCCESS or RELOCATE_SUCCESS message, so eat it here.
      if (message.length == 0) {
    return;
      }

      MessageBuffer buf =
    new MessageBuffer(1 + message.length);
      buf.putByte(SimpleSgsProtocol.SESSION_MESSAGE).
    putBytes(message);
      sendRaw(buf.getBuffer(), checkSuspend);
  }
View Full Code Here

    channelRefId = getChannelId(channelName);
      }
      System.err.println(toString() + " sending message:" + seq +
             " to channel:" + channelName);
      byte[] channelId = channelRefId.toByteArray();
      MessageBuffer buf =
    new MessageBuffer(3 + channelId.length + 4);
      buf.putByte(SimpleSgsProtocol.CHANNEL_MESSAGE).
    putShort(channelId.length).
    putBytes(channelId).
    putInt(seq);
      sendRaw(buf.getBuffer(), true);
  }
View Full Code Here

      }
  }

  void join(String channelToJoin) {
      String action = "join";
      MessageBuffer buf =
    new MessageBuffer(MessageBuffer.getSize(action) +
          MessageBuffer.getSize(channelToJoin));
      buf.putString(action).putString(channelToJoin);
      sendMessage(buf.getBuffer(), true);
      assertJoinedChannel(channelToJoin);
  }
View Full Code Here

      }
  }
     
  void leave(String channelToLeave) {
      String action = "leave";
      MessageBuffer buf =
    new MessageBuffer(MessageBuffer.getSize(action) +
          MessageBuffer.getSize(channelToLeave));
      buf.putString(action).putString(channelToLeave);
      sendMessage(buf.getBuffer(), true);
      assertLeftChannel(channelToLeave);
  }
View Full Code Here

        } catch (NameNotBoundException e) {
            throw new MaybeRetryException("retry", true);
        }
        ClientSession session = (ClientSession)
            dataManager.getBinding(client.name);
        MessageBuffer buf = new MessageBuffer(4);
        buf.putInt(counter.getAndIncrement());
        session.send(ByteBuffer.wrap(buf.getBuffer()),
               delivery);
          }},
     
      identity);
    }
View Full Code Here

TOP

Related Classes of com.sun.sgs.impl.sharedutil.MessageBuffer

Copyright © 2018 www.massapicom. 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.