CqlSharp.Protocol.FrameReader.ReadShortAsync C# (CSharp) Méthode

ReadShortAsync() public méthode

Reads the short async.
public ReadShortAsync ( ) : Task
Résultat Task
        public Task<ushort> ReadShortAsync()
        {
            if(TryGetSegmentFromBuffer(2))
            {
                //reverse the value if necessary
                ushort value = _lastReadSegment.Array.ToShort(_lastReadSegment.Offset);

                //return cached int value if possible
                return value.AsTask();
            }

            return ReadShortInternalAsync();
        }

Usage Example

Exemple #1
0
        /// <summary>
        /// Reads the CqlType
        /// </summary>
        /// <param name="reader">The reader.</param>
        /// <returns>a CqlType</returns>
        private static async Task<CqlType> ReadCqlType(FrameReader reader)
        {
            //read typeCode
            var colType = (CqlTypeCode)await reader.ReadShortAsync().AutoConfigureAwait();
            CqlType type;
            switch(colType)
            {
                case CqlTypeCode.Custom:
                    var colCustom = await reader.ReadStringAsync().AutoConfigureAwait();
                    type = CqlType.CreateType(colCustom);
                    break;

                case CqlTypeCode.List:
                case CqlTypeCode.Set:
                    var colValueType = await ReadCqlType(reader).AutoConfigureAwait();
                    type = CqlType.CreateType(colType, colValueType);
                    break;

                case CqlTypeCode.Map:
                    var colKeyType = await ReadCqlType(reader).AutoConfigureAwait();
                    var colValType = await ReadCqlType(reader).AutoConfigureAwait();
                    type = CqlType.CreateType(colType, colKeyType, colValType);
                    break;

                case CqlTypeCode.UserDefinedType:
                    var keyspace = await reader.ReadStringAsync().AutoConfigureAwait();
                    var name = await reader.ReadStringAsync().AutoConfigureAwait();
                    var fieldCount = await reader.ReadShortAsync().AutoConfigureAwait();
                    var fieldNames = new List<string>(fieldCount);
                    var fieldTypes = new List<CqlType>(fieldCount);
                    for(int i = 0; i < fieldCount; i++)
                    {
                        fieldNames.Add(await reader.ReadStringAsync().AutoConfigureAwait());
                        fieldTypes.Add(await ReadCqlType(reader).AutoConfigureAwait());
                    }

                    type = CqlType.CreateType(colType, keyspace, name, fieldNames, fieldTypes);
                    break;

                case CqlTypeCode.Tuple:
                    var tupleItems = await reader.ReadShortAsync().AutoConfigureAwait();
                    var tupleItemTypes = new object[tupleItems];
                    for(int i = 0; i < tupleItems; i++)
                    {
                        tupleItemTypes[i] = await ReadCqlType(reader).AutoConfigureAwait();
                    }

                    type = CqlType.CreateType(colType, tupleItemTypes);
                    break;

                default:
                    type = CqlType.CreateType(colType);
                    break;
            }
            return type;
        }
All Usage Examples Of CqlSharp.Protocol.FrameReader::ReadShortAsync