internal async ValueTask ProcessExchange(RabbitMQProtocolReader protocol, FrameHeader header, MethodHeader method, CancellationToken token = default) { switch (method.MethodId) { case 11: //declare-ok { var declareOk = await protocol.ReadExchangeDeclareOkAsync(token).ConfigureAwait(false);; await _channelHandler.OnExchangeDeclareOkAsync(header.Channel).ConfigureAwait(false);; break; } case 21: //delete-ok { var declareOk = protocol.ReadExchangeDeleteOkAsync(token).ConfigureAwait(false);; await _channelHandler.OnExchangeDeleteOkAsync(header.Channel).ConfigureAwait(false);; break; } default: throw new RabbitMQMethodException(nameof(ProcessExchange), method.ClassId, method.MethodId); } }