protected override async Task InitializeAsync()
{
FrameReader reader = Reader;
ResultOpcode = (ResultOpcode)await reader.ReadIntAsync().ConfigureAwait(false);
switch (ResultOpcode)
{
case ResultOpcode.Void:
break;
case ResultOpcode.Rows:
Schema = await ReadCqlSchemaAsync().ConfigureAwait(false);
_count = await reader.ReadIntAsync().ConfigureAwait(false);
break;
case ResultOpcode.SetKeyspace:
Keyspace = await reader.ReadStringAsync().ConfigureAwait(false);
break;
case ResultOpcode.SchemaChange:
Change = await reader.ReadStringAsync().ConfigureAwait(false);
Keyspace = await reader.ReadStringAsync().ConfigureAwait(false);
Table = await reader.ReadStringAsync().ConfigureAwait(false);
break;
case ResultOpcode.Prepared:
PreparedQueryId = await reader.ReadShortBytesAsync().ConfigureAwait(false);
Schema = await ReadCqlSchemaAsync().ConfigureAwait(false);
break;
default:
throw new ArgumentException("Unexpected ResultOpcode");
}
//_readLock = new SemaphoreSlim(1);
}