Ejemplo n.º 1
0
        public override void GetBytes(int index, IChannelBuffer dst, int dstIndex, int length)
        {
            var data = new byte[length];

            Buffer.GetBytes(index, data);
            dst.SetBytes(dstIndex, data, 0, length);
        }
Ejemplo n.º 2
0
        public static bool Equals(IChannelBuffer bufferA, IChannelBuffer bufferB)
        {
            int aLen = bufferA.ReadableBytes;

            if (aLen != bufferB.ReadableBytes)
            {
                return(false);
            }

            int byteCount = aLen & 7;

            int aIndex = bufferA.ReaderIndex;
            int bIndex = bufferB.ReaderIndex;

            for (int i = byteCount; i > 0; i--)
            {
                if (bufferA.GetByte(aIndex) != bufferB.GetByte(bIndex))
                {
                    return(false);
                }
                aIndex++;
                bIndex++;
            }

            return(true);
        }
Ejemplo n.º 3
0
        public static int Compare(IChannelBuffer bufferA, IChannelBuffer bufferB)
        {
            int aLen      = bufferA.ReadableBytes;
            int bLen      = bufferB.ReadableBytes;
            int minLength = Math.Min(aLen, bLen);

            int aIndex = bufferA.ReaderIndex;
            int bIndex = bufferB.ReaderIndex;

            for (int i = minLength; i > 0; i--)
            {
                byte va = bufferA.GetByte(aIndex);
                byte vb = bufferB.GetByte(bIndex);
                if (va > vb)
                {
                    return(1);
                }
                else if (va < vb)
                {
                    return(-1);
                }
                aIndex++;
                bIndex++;
            }

            return(aLen - bLen);
        }
Ejemplo n.º 4
0
 public void SetBytes(int index, IChannelBuffer src, int length)
 {
     if (length > src.ReadableBytes)
     {
         throw new IndexOutOfRangeException();
     }
     SetBytes(index, src, src.ReaderIndex, length);
 }
Ejemplo n.º 5
0
 public void GetBytes(int index, IChannelBuffer dst, int length)
 {
     if (length > dst.WriteableBytes)
     {
         throw new IndexOutOfRangeException();
     }
     GetBytes(index, dst, dst.WriterIndex, length);
 }
Ejemplo n.º 6
0
 public void ReadBytes(IChannelBuffer dst, int length)
 {
     if (length > dst.WriteableBytes)
     {
         throw new IndexOutOfRangeException();
     }
     ReadBytes(dst, dst.WriterIndex, length);
     dst.SetWriterIndex(dst.WriterIndex + length);
 }
Ejemplo n.º 7
0
 public void WriteBytes(IChannelBuffer src, int length)
 {
     if (length > src.ReadableBytes)
     {
         throw new IndexOutOfRangeException();
     }
     WriteBytes(src, src.ReaderIndex, length);
     src.SetReaderIndex(src.ReaderIndex + length);
 }
Ejemplo n.º 8
0
 public override void SetBytes(int index, IChannelBuffer src, int srcIndex, int length)
 {
     if (src is HeapChannelBuffer buffer)
     {
         SetBytes(index, buffer.Array, srcIndex, length);
     }
     else
     {
         src.GetBytes(srcIndex, _array, index, length);
     }
 }
Ejemplo n.º 9
0
        public IChannelBuffer ReadBytes(int length)
        {
            CheckReadableBytes(length);
            if (length == 0)
            {
                return(ChannelBuffers.EmptyBuffer);
            }
            IChannelBuffer buf = Factory.GetBuffer(length);

            buf.WriteBytes(this, _readerIndex, length);
            _readerIndex += length;
            return(buf);
        }
Ejemplo n.º 10
0
        public IChannelBuffer GetBuffer(IByteBuffer nioBuffer)
        {
            if (nioBuffer.HasArray)
            {
                return(ChannelBuffers.WrappedBuffer(nioBuffer));
            }

            IChannelBuffer buf = GetBuffer((IByteBuffer)nioBuffer.Duplicate());
            int            pos = nioBuffer.ReaderIndex;

            buf.WriteBytes(nioBuffer);
            nioBuffer.SetReaderIndex(pos);
            return(buf);
        }
Ejemplo n.º 11
0
        public override void SetBytes(int index, IChannelBuffer src, int srcIndex, int length)
        {
            if (src is ByteBufferBackedChannelBuffer)
            {
                ByteBufferBackedChannelBuffer bbsrc = (ByteBufferBackedChannelBuffer)src;
                IByteBuffer data = bbsrc.Buffer.Duplicate();

                data.Slice(srcIndex, length);
                SetBytes(index, data);
            }
            else if (Buffer.HasArray)
            {
                src.GetBytes(srcIndex, Buffer.Array, index + Buffer.ArrayOffset, length);
            }
            else
            {
                src.GetBytes(srcIndex, this, index, length);
            }
        }
Ejemplo n.º 12
0
 public abstract void SetBytes(int index, IChannelBuffer src, int srcIndex, int length);
Ejemplo n.º 13
0
 public int CompareTo(IChannelBuffer that)
 {
     return(ChannelBuffers.Compare(this, that));
 }
Ejemplo n.º 14
0
 public void GetBytes(int index, IChannelBuffer dst)
 {
     GetBytes(index, dst, dst.WriteableBytes);
 }
Ejemplo n.º 15
0
 public abstract void GetBytes(int index, IChannelBuffer dst, int dstIndex, int length);
Ejemplo n.º 16
0
 public void WriteBytes(IChannelBuffer src, int srcIndex, int length)
 {
     SetBytes(_writerIndex, src, srcIndex, length);
     _writerIndex += length;
 }
Ejemplo n.º 17
0
 public void WriteBytes(IChannelBuffer src)
 {
     WriteBytes(src, src.ReadableBytes);
 }
Ejemplo n.º 18
0
 public void ReadBytes(IChannelBuffer dst, int dstIndex, int length)
 {
     CheckReadableBytes(length);
     GetBytes(_readerIndex, dst, dstIndex, length);
     _readerIndex += length;
 }
Ejemplo n.º 19
0
 public void SetBytes(int index, IChannelBuffer src)
 {
     SetBytes(index, src, src.ReadableBytes);
 }
Ejemplo n.º 20
0
 public void ReadBytes(IChannelBuffer dst)
 {
     ReadBytes(dst, dst.WriteableBytes);
 }
Ejemplo n.º 21
0
 public override void GetBytes(int index, IChannelBuffer dst, int dstIndex, int length)
 {
     throw new NotImplementedException();
 }