예제 #1
0
 void Member::readData(serialization::ObjectDataInput &reader) {
     address.readData(reader);
     uuid = *reader.readUTF();
     liteMember = reader.readBoolean();
     int size = reader.readInt();
     for (int i = 0; i < size; i++) {
         std::auto_ptr<std::string> key = reader.readUTF();
         byte readByte = reader.readByte();
         if (readByte == util::IOUtil::PRIMITIVE_TYPE_BOOLEAN) {
             boolAttributes[*key] = reader.readBoolean();
         } else if (readByte == util::IOUtil::PRIMITIVE_TYPE_BYTE) {
             byteAttributes[*key] = reader.readByte();
         } else if (readByte == util::IOUtil::PRIMITIVE_TYPE_DOUBLE) {
             doubleAttributes[*key] = reader.readDouble();
         } else if (readByte == util::IOUtil::PRIMITIVE_TYPE_FLOAT) {
             floatAttributes[*key] = reader.readFloat();
         } else if (readByte == util::IOUtil::PRIMITIVE_TYPE_INTEGER) {
             intAttributes[*key] = reader.readInt();
         } else if (readByte == util::IOUtil::PRIMITIVE_TYPE_LONG) {
             longAttributes[*key] = reader.readLong();
         } else if (readByte == util::IOUtil::PRIMITIVE_TYPE_SHORT) {
             shortAttributes[*key] = reader.readShort();
         } else if (readByte == util::IOUtil::PRIMITIVE_TYPE_UTF) {
             stringAttributes[*key] = *reader.readUTF();
         }
     }
 }
예제 #2
0
 void Address::readData(serialization::ObjectDataInput &in) {
     port = in.readInt();
     type = in.readByte();
     int len = in.readInt();
     if (len > 0) {
         std::vector<byte> bytes;
         in.readFully(bytes);
         host.clear();
         host.append(bytes.begin(), bytes.end());
     }
 }