hds.BufferHandler.readBytes C# (CSharp) Method

readBytes() public static method

public static readBytes ( byte &data, int &offset, int bytesNum ) : byte[]
data byte
offset int
bytesNum int
return byte[]
        public static byte[] readBytes(ref byte[] data,ref int offset,int bytesNum)
        {
            if (bytesNum>data.Length || (offset+bytesNum>data.Length)){
                return null; // You cannot read further than the limit
            }else{
                byte[] readValue = new byte[bytesNum];
                ArrayUtils.copy(data,offset,readValue,0,bytesNum);
                offset+=bytesNum;
                return readValue;
            }
        }

Usage Example

Beispiel #1
0
        private void parseRpc()
        {
            int length = BufferHandler.readByte(ref buffer, ref offset);

            if (length >= 0x80)  //2 bytes as size
            {
                length = (length - 0x80) << 8;
                length = length + (int)BufferHandler.readByte(ref buffer, ref offset);
            }

            int header = BufferHandler.readByte(ref buffer, ref offset);

            length--;           //discount 1 byte for the header
            if (header >= 0x80) //2 bytes as size
            {
                header = (header - 0x80) << 8;
                header = header + (int)BufferHandler.readByte(ref buffer, ref offset);
                length--; // discount another byte for the header (2nd byte)
            }
            byte[] rpcValues = BufferHandler.readBytes(ref buffer, ref offset, length);
                #if DEBUG
            Output.WriteLine("RPC (Header " + header + " | Content:" + StringUtils.bytesToString(rpcValues));
                        #endif
            rpcManager.HandleRpc(header, ref rpcValues);
        }
All Usage Examples Of hds.BufferHandler::readBytes