Пример #1
0
        private TdsToken CreateNotImplementedToken(TokenDescriptor tokenDesc, TdsResponseStream stream)
        {
            int len = 0;

            switch (tokenDesc.Len)
            {
            case TokenLength.OneByteLen:
                len = stream.Read();
                stream.SkipRead(len);
                len += 1;
                break;

            case TokenLength.TwoByteLen:
                len = stream.ReadShort();
                stream.SkipRead(len);
                len += 2;
                break;

            case TokenLength.FourByteLen:
                len = stream.ReadInt();
                stream.SkipRead(len);
                len += 4;
                break;

            case TokenLength.OneByte:
                len = 1;
                stream.SkipRead(len);
                break;

            case TokenLength.FourBytes:
                len = 4;
                stream.SkipRead(len);
                break;

            case TokenLength.EigthBytes:
                len = 8;
                stream.SkipRead(len);
                break;

            case TokenLength.Dependent:
            default:
                _logger?.LogError($"Unknown length of token of type {tokenDesc.TokenType}");
                throw new Exception($"Unknown length of token of type {tokenDesc.TokenType}");
            }

            _logger?.LogWarning($"Not implemented token {tokenDesc.TokenType} of len {len}");
            return(new UnknownToken(tokenDesc.TokenType, len));
        }