Exemplo n.º 1
0
 public String toString() {
   StringBuffer buf = new StringBuffer("RpcMessage[");
   buf.append(super.toString());
   buf.append("] rpcId=");
   buf.append(Arrays.toString(rpcId));
   buf.append("; uuid=");
   buf.append(Arrays.toString(uuid));
   buf.append("; msg=");
   buf.append(message);
   return buf.toString();
 }
 public void messageReceived(ChannelMessage msg) {
   if (okToProcess(msg.getOptions())) {
     if (msg.getMessage().getLength()
             == (START_DATA.length + msg.getUniqueId().length + END_DATA.length)
         && Arrays.contains(msg.getMessage().getBytesDirect(), 0, START_DATA, 0, START_DATA.length)
         && Arrays.contains(
             msg.getMessage().getBytesDirect(),
             START_DATA.length + msg.getUniqueId().length,
             END_DATA,
             0,
             END_DATA.length)) {
       UniqueId id =
           new UniqueId(
               msg.getMessage().getBytesDirect(), START_DATA.length, msg.getUniqueId().length);
       MapEntry original = (MapEntry) messages.get(id);
       if (original != null) {
         super.messageReceived(original.msg);
         messages.remove(id);
       } else
         log.warn(
             "Received a confirmation, but original message is missing. Id:"
                 + Arrays.toString(id.getBytes()));
     } else {
       UniqueId id = new UniqueId(msg.getUniqueId());
       MapEntry entry =
           new MapEntry((ChannelMessage) msg.deepclone(), id, System.currentTimeMillis());
       messages.put(id, entry);
     }
   } else {
     super.messageReceived(msg);
   }
 }