public async ValueTask <OutgoingResponseFrame> DispatchAsync( IncomingRequestFrame request, Current current, CancellationToken cancel) { if (current.Operation == "opCompressArgs" || current.Operation == "opCompressArgsAndReturn") { if (request.PayloadEncoding == Encoding.V20) { TestHelper.Assert(request.HasCompressedPayload == _compressed); if (!_compressed) { // Ensure payload count is less than Ice.CompressionMinSize TestHelper.Assert(request.PayloadSize < 1024); } } } OutgoingResponseFrame response = await _servant.DispatchAsync(request, current, cancel); if (current.Operation == "opCompressReturn" || current.Operation == "opCompressArgsAndReturn") { if (response.PayloadEncoding == Encoding.V20) { if (_compressed) { try { response.CompressPayload(); TestHelper.Assert(false); } catch (InvalidOperationException) { // Expected if the request is already compressed } } else { // Ensure size is less than Ice.CompressionMinSize TestHelper.Assert(response.PayloadSize < 1024); } } } if (response.PayloadEncoding == Encoding.V20 && current.Operation == "opWithUserException") { try { response.CompressPayload((CompressionFormat)2); TestHelper.Assert(false); } catch (NotSupportedException) { // expected. } response.CompressPayload(); } return(response); }
public async ValueTask <OutgoingResponseFrame> DispatchAsync(IncomingRequestFrame request, Current current) { if (current.Operation == "opCompressParams" || current.Operation == "opCompressParamsAndReturn") { if (request.Encoding == Encoding.V2_0) { TestHelper.Assert(request.HasCompressedPayload == _compressed); if (!_compressed) { // Ensure size is less than Ice.CompressionMinSize TestHelper.Assert(request.Size < 1024); } } } OutgoingResponseFrame response = await _servant.DispatchAsync(request, current); if (current.Operation == "opCompressReturn" || current.Operation == "opCompressParamsAndReturn") { if (response.Encoding == Encoding.V2_0) { if (_compressed) { try { response.CompressPayload(); TestHelper.Assert(false); } catch (InvalidOperationException) { // Expected if the request is already compressed } } else { // Ensure size is less than Ice.CompressionMinSize TestHelper.Assert(response.Size < 1024); } } } if (response.Encoding == Encoding.V2_0 && current.Operation == "opWithUserException") { response.CompressPayload(); } return(response); }