internal byte[] ToByte()
        {
            ChainProtocol cpcl = new ChainProtocol();

            return(cpcl.ResolveProtocol(this));
        }
        /// <summary>
        /// 把byte[] source解析成Chain包
        /// </summary>
        /// <param name="source"></param>
        /// <returns></returns>
        public ChainPackage ParseRequestInfo(byte[] source)
        {
            IPackageProtocol <ChainPackage> packageHeadProtocol = new ChainProtocol();

            return(packageHeadProtocol.ResolveProtocol(source));
        }
 protected override ChainPackage ResolveRequestInfo(ArraySegment <byte> header, byte[] bodyBuffer, int offset, int length)
 {
     byte[] body = new byte[length];
     Buffer.BlockCopy(bodyBuffer, offset, body, 0, length);
     return(protocol.ResolveProtocol(header.Array, body));
 }