public static void Encode(ClientMessage clientMessage, Hazelcast.Client.Protocol.PagingPredicateHolder pagingPredicateHolder) { clientMessage.Add(BeginFrame.Copy()); var initialFrame = new Frame(new byte[InitialFrameSize]); EncodeInt(initialFrame.Content, PageSizeFieldOffset, pagingPredicateHolder.PageSize); EncodeInt(initialFrame.Content, PageFieldOffset, pagingPredicateHolder.Page); EncodeByte(initialFrame.Content, IterationTypeIdFieldOffset, pagingPredicateHolder.IterationTypeId); clientMessage.Add(initialFrame); AnchorDataListHolderCodec.Encode(clientMessage, pagingPredicateHolder.AnchorDataListHolder); CodecUtil.EncodeNullable(clientMessage, pagingPredicateHolder.PredicateData, DataCodec.Encode); CodecUtil.EncodeNullable(clientMessage, pagingPredicateHolder.ComparatorData, DataCodec.Encode); CodecUtil.EncodeNullable(clientMessage, pagingPredicateHolder.PartitionKeyData, DataCodec.Encode); clientMessage.Add(EndFrame.Copy()); }
public static Hazelcast.Client.Protocol.PagingPredicateHolder Decode(FrameIterator iterator) { // begin frame iterator.Next(); var initialFrame = iterator.Next(); var pageSize = DecodeInt(initialFrame.Content, PageSizeFieldOffset); var page = DecodeInt(initialFrame.Content, PageFieldOffset); var iterationTypeId = DecodeByte(initialFrame.Content, IterationTypeIdFieldOffset); var anchorDataListHolder = AnchorDataListHolderCodec.Decode(iterator); var predicateData = CodecUtil.DecodeNullable(iterator, DataCodec.Decode); var comparatorData = CodecUtil.DecodeNullable(iterator, DataCodec.Decode); var partitionKeyData = CodecUtil.DecodeNullable(iterator, DataCodec.Decode); CodecUtil.FastForwardToEndFrame(iterator); return(new Hazelcast.Client.Protocol.PagingPredicateHolder(anchorDataListHolder, predicateData, comparatorData, pageSize, page, iterationTypeId, partitionKeyData)); }