예제 #1
0
        public Msg ReplyFromServer()
        {
            var bytes              = GetByteLoad();
            var classMetadataID    = bytes.ReadInt();
            var prefetchDepth      = bytes.ReadInt();
            var prefetchCount      = bytes.ReadInt();
            var triggerQueryEvents = bytes.ReadInt() == 1;
            var payload            = MarshallIDsFor(classMetadataID, prefetchDepth, prefetchCount
                                                    , triggerQueryEvents);
            var message = IdList.GetWriterForLength(Transaction(), payload.Length());

            message.PayLoad().WriteBytes(payload._buffer);
            return(message);
        }
예제 #2
0
        public Msg ReplyFromServer()
        {
            var prefetchIDCount = ReadInt();
            var reply           = IdList.GetWriterForLength(Transaction(), Const4.IntLength * prefetchIDCount
                                                            );

            lock (ContainerLock())
            {
                var idSystem = Transaction().IdSystem();
                for (var i = 0; i < prefetchIDCount; i++)
                {
                    reply.WriteInt(idSystem.PrefetchID());
                }
            }
            return(reply);
        }