Esempio n. 1
0
 public void readFrom(DataInput in) throws Exception {
   type = in.readByte();
   boolean isMergeView = in.readBoolean();
   if (isMergeView) view = (View) Util.readStreamable(MergeView.class, in);
   else view = (View) Util.readStreamable(View.class, in);
   mbr = Util.readAddress(in);
   mbrs = Util.readAddresses(in, ArrayList.class);
   join_rsp = (JoinRsp) Util.readStreamable(JoinRsp.class, in);
   my_digest = (Digest) Util.readStreamable(Digest.class, in);
   merge_id = (MergeId) Util.readStreamable(MergeId.class, in);
   merge_rejected = in.readBoolean();
   useFlushIfPresent = in.readBoolean();
 }
Esempio n. 2
0
  public static void testWriteView() throws Exception {
    List<Address> members = new ArrayList<>();
    View v;
    Address a1 = Util.createRandomAddress();
    Address a2 = Util.createRandomAddress();
    Address a4 = Util.createRandomAddress();
    ViewId vid = new ViewId(a1, 12345);
    members.add(a1);
    members.add(a2);
    members.add(a4);
    v = new View(vid, members);

    ByteArrayOutputStream outstream = new ByteArrayOutputStream();
    DataOutputStream dos = new DataOutputStream(outstream);
    Util.writeGenericStreamable(v, dos);
    Util.writeStreamable(v, dos);
    dos.close();
    byte[] buf = outstream.toByteArray();
    ByteArrayInputStream instream = new ByteArrayInputStream(buf);
    DataInputStream dis = new DataInputStream(instream);
    View v2 = (View) Util.readGenericStreamable(dis);
    Assert.assertEquals(v, v2);
    v2 = (View) Util.readStreamable(View.class, dis);
    Assert.assertEquals(v, v2);
  }