private async Task tranceivePacketAsync() { var request = await _cache.DequeueAsync(); if (request.ExpectsAnswer) { var response = await _transceiver.TransceiveAsync(request); await _cache.EnqueueAsync(request, response); } else { _transceiver.Transmit(request); } }