Skip to content

Commit

Permalink
Merge pull request #292 from scalecube/update/msg/metadata/codec
Browse files Browse the repository at this point in the history
Updated msg and metadata codecs
  • Loading branch information
artem-v authored Jan 17, 2020
2 parents 0296a76 + 01bdf76 commit cd5cbc3
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -42,27 +42,27 @@ public void writeExternal(ObjectOutput out) throws IOException {
// member
out.writeObject(member);
// metadata
byte[] bytes = metadata.array();
out.writeInt(bytes.length);
out.write(bytes);
byte[] metadataBytes = metadata.array();
out.writeInt(metadataBytes.length);
out.write(metadataBytes);
}

@Override
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
// member
member = (Member) in.readObject();
// metadata
int size = in.readInt();
byte[] bytes = new byte[size];
in.read(bytes);
metadata = ByteBuffer.wrap(bytes);
int metadataSize = in.readInt();
byte[] metadataBytes = new byte[metadataSize];
in.readFully(metadataBytes);
metadata = ByteBuffer.wrap(metadataBytes);
}

@Override
public String toString() {
return new StringJoiner(", ", GetMetadataResponse.class.getSimpleName() + "[", "]")
.add("member=" + member)
.add("metadata=" + metadata.remaining())
.add("metadata(b=" + metadata.remaining() + ")")
.toString();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -11,17 +11,17 @@ public class JdkMessageCodec implements MessageCodec {
@Override
public Message deserialize(InputStream is) throws IOException, ClassNotFoundException {
Message message = new Message();
try (ObjectInputStream inputStream = new ObjectInputStream(is)) {
message.readExternal(inputStream);
return message;
try (ObjectInputStream ois = new ObjectInputStream(is)) {
message.readExternal(ois);
}
return message;
}

@Override
public void serialize(Message message, OutputStream os) throws IOException {
try (ObjectOutputStream outputStream = new ObjectOutputStream(os)) {
message.writeExternal(outputStream);
outputStream.flush();
try (ObjectOutputStream oos = new ObjectOutputStream(os)) {
message.writeExternal(oos);
oos.flush();
}
}
}

0 comments on commit cd5cbc3

Please sign in to comment.