@Override public TCMessage createMessage(final SessionID sid, final MessageMonitor monitor, final MessageChannel mChannel, final TCMessageHeader msgHeader, final TCByteBuffer[] data) { return new GetAllKeysServerMapResponseMessageImpl(sid, monitor, mChannel, msgHeader, data, encoding); }
@Override protected boolean hydrateValue(final byte name) throws IOException { switch (name) { case MAP_OBJECT_ID: this.mapID = new ObjectID(getLongValue()); return true; case REQUEST_ID: this.requestID = new ServerMapRequestID(getLongValue()); return true; case GET_ALL_KEYS_SIZE: int size = getIntValue(); this.keys = new HashSet((int)(size * 1.5)); final TCByteBufferInputStream inputStream = getInputStream(); while (size-- > 0) { try { final Object key = this.decoder.decode(inputStream); this.keys.add(key); } catch (ClassNotFoundException e) { throw new AssertionError(e); } } return true; default: return false; } }
@Override protected void dehydrateValues() { putNVPair(MAP_OBJECT_ID, this.mapID.toLong()); putNVPair(REQUEST_ID, this.requestID.toLong()); putNVPair(GET_ALL_KEYS_SIZE, this.keys.size()); int count = 0; final TCByteBufferOutputStream outStream = getOutputStream(); for (Iterator iter = this.keys.iterator(); iter.hasNext();) { encoder.encode(iter.next(), outStream); count++; } Assert.assertEquals(this.keys.size(), count); }
@Override protected boolean hydrateValue(final byte name) throws IOException { switch (name) { case MAP_OBJECT_ID: this.mapID = new ObjectID(getLongValue()); return true; case REQUEST_ID: this.requestID = new ServerMapRequestID(getLongValue()); return true; case GET_ALL_KEYS_SIZE: int size = getIntValue(); this.keys = new HashSet((int)(size * 1.5)); final TCByteBufferInputStream inputStream = getInputStream(); while (size-- > 0) { try { final Object key = this.decoder.decode(inputStream); this.keys.add(key); } catch (ClassNotFoundException e) { throw new AssertionError(e); } } return true; default: return false; } }
@Override protected void dehydrateValues() { putNVPair(MAP_OBJECT_ID, this.mapID.toLong()); putNVPair(REQUEST_ID, this.requestID.toLong()); putNVPair(GET_ALL_KEYS_SIZE, this.keys.size()); int count = 0; final TCByteBufferOutputStream outStream = getOutputStream(); for (Iterator iter = this.keys.iterator(); iter.hasNext();) { encoder.encode(iter.next(), outStream); count++; } Assert.assertEquals(this.keys.size(), count); }
@Override public TCMessage createMessage(final SessionID sid, final MessageMonitor monitor, final MessageChannel mChannel, final TCMessageHeader msgHeader, final TCByteBuffer[] data) { return new GetAllKeysServerMapResponseMessageImpl(sid, monitor, mChannel, msgHeader, data, encoding); }
@Override public TCMessage createMessage(final SessionID sid, final MessageMonitor monitor, final MessageChannel mChannel, final TCMessageHeader msgHeader, final TCByteBuffer[] data) { return new GetAllKeysServerMapResponseMessageImpl(sid, monitor, mChannel, msgHeader, data, encoding); }