public void serialize(RangeSliceCommand sliceCommand, DataOutput dos, int version) throws IOException { dos.writeUTF(sliceCommand.keyspace); dos.writeUTF(sliceCommand.column_family); ByteBuffer sc = sliceCommand.super_column; dos.writeInt(sc == null ? 0 : sc.remaining()); if (sc != null) ByteBufferUtil.write(sc, dos); TSerializer ser = new TSerializer(new TBinaryProtocol.Factory()); FBUtilities.serialize(ser, sliceCommand.predicate, dos); if (version >= MessagingService.VERSION_11) { if (sliceCommand.row_filter == null) { dos.writeInt(0); } else { dos.writeInt(sliceCommand.row_filter.size()); for (IndexExpression expr : sliceCommand.row_filter) FBUtilities.serialize(ser, expr, dos); } } AbstractBounds.serializer().serialize(sliceCommand.range, dos, version); dos.writeInt(sliceCommand.maxResults); if (version >= MessagingService.VERSION_11) { dos.writeBoolean(sliceCommand.maxIsColumns); dos.writeBoolean(sliceCommand.isPaging); } }
public void serialize(ReadResponse response, DataOutput dos, int version) throws IOException { dos.writeInt(response.isDigestQuery() ? response.digest().remaining() : 0); ByteBuffer buffer = response.isDigestQuery() ? response.digest() : ByteBufferUtil.EMPTY_BYTE_BUFFER; ByteBufferUtil.write(buffer, dos); dos.writeBoolean(response.isDigestQuery()); if (!response.isDigestQuery()) Row.serializer.serialize(response.row(), dos, version); }