예제 #1
0
 protected override void WithContent(AbstractBufferContext context, IRunnable runnable
     )
 {
     var address = context.ReadInt();
     var length = context.ReadInt();
     if (address == 0)
     {
         return;
     }
     var temp = context.Buffer();
     var indirectedBuffer = Container(context).DecryptedBufferByAddress(address
         , length);
     context.Buffer(indirectedBuffer);
     runnable.Run();
     context.Buffer(temp);
 }
예제 #2
0
        protected override void WithContent(AbstractBufferContext context, IRunnable runnable
                                            )
        {
            int address = context.ReadInt();
            int length  = context.ReadInt();

            if (address == 0)
            {
                return;
            }
            IReadBuffer     temp             = context.Buffer();
            ByteArrayBuffer indirectedBuffer = Container(context).DecryptedBufferByAddress(address
                                                                                           , length);

            context.Buffer(indirectedBuffer);
            runnable.Run();
            context.Buffer(temp);
        }
예제 #3
0
            public void Run()
            {
                if (context.Buffer() == null)
                {
                    return;
                }
                if (_enclosing.IsUntypedByteArray(context))
                {
                    return;
                }
                _enclosing.ReadInfo(context.Transaction(), context, info);
                var elementCount = info.ElementCount();

                elementCount -= _enclosing.ReducedCountForNullBitMap(info, context);
                for (var i = 0; i < elementCount; i++)
                {
                    elementRunnable.Run();
                }
            }