Esempio n. 1
0
  public void serialize(Header t, DataOutput dos) throws IOException {
    dos.writeUTF(t.getMessageId());
    CompactEndPointSerializationHelper.serialize(t.getFrom(), dos);
    dos.writeUTF(t.getMessageType());
    dos.writeUTF(t.getVerb());

    /* Serialize the message header */
    int size = t.details_.size();
    dos.writeInt(size);
    Set<String> keys = t.details_.keySet();

    for (String key : keys) {
      dos.writeUTF(key);
      byte[] value = t.details_.get(key);
      dos.writeInt(value.length);
      dos.write(value);
    }
  }
Esempio n. 2
0
  public Header deserialize(DataInputStream dis) throws IOException {
    String id = dis.readUTF();
    EndPoint from = CompactEndPointSerializationHelper.deserialize(dis);
    String type = dis.readUTF();
    String verb = dis.readUTF();

    /* Deserializing the message header */
    int size = dis.readInt();
    Map<String, byte[]> details = new Hashtable<String, byte[]>(size);
    for (int i = 0; i < size; ++i) {
      String key = dis.readUTF();
      int length = dis.readInt();
      byte[] bytes = new byte[length];
      dis.readFully(bytes);
      details.put(key, bytes);
    }

    return new Header(id, from, type, verb, details);
  }