private async ValueTask ProcessOutboundControlStreamAsync(Http3ControlStream controlStream) { try { await controlStream.SendStreamIdAsync(id : 0); await controlStream.SendSettingsFrameAsync(); } catch (Exception ex) { Log.Http3OutboundControlStreamError(ConnectionId, ex); var connectionError = new Http3ConnectionErrorException(CoreStrings.Http3ControlStreamErrorInitializingOutbound, Http3ErrorCode.ClosedCriticalStream); Log.Http3ConnectionError(ConnectionId, connectionError); // https://quicwg.org/base-drafts/draft-ietf-quic-http.html#section-6.2.1 Abort(new ConnectionAbortedException(connectionError.Message, connectionError), connectionError.ErrorCode); } }
public void Http3ConnectionError(string connectionId, Http3ConnectionErrorException ex) { _trace1.Http3ConnectionError(connectionId, ex); _trace2.Http3ConnectionError(connectionId, ex); }
public void OnStreamConnectionError(Http3ConnectionErrorException ex) { _inner.OnStreamConnectionError(ex); }
public void Http3ConnectionError(string connectionId, Http3ConnectionErrorException ex) { Http3ConnectionError(_http3Logger, connectionId, ex); }
private static partial void Http3ConnectionError(ILogger logger, string connectionId, Http3ConnectionErrorException ex);
public void Http3ConnectionError(string connectionId, Http3ConnectionErrorException ex) { }