<PackageReference Include="System.ServiceModel.Primitives" Version="8.1.1" />

System.ServiceModel.Channels.ReliableDuplexSessionChannel

namespace System.ServiceModel.Channels { internal abstract class ReliableDuplexSessionChannel : DuplexChannel, IDuplexSessionChannel, IDuplexChannel, IInputChannel, IChannel, ICommunicationObject, IOutputChannel, ISessionChannel<IDuplexSession>, IAsyncDuplexSessionChannel, IAsyncDuplexChannel, IAsyncInputChannel, IAsyncCommunicationObject, IAsyncOutputChannel, ISessionChannel<IAsyncDuplexSession> { protected static Func<object, Task> s_startReceivingAsyncStatic; public IReliableChannelBinder Binder { get; } protected ReliableOutputConnection OutputConnection { get; } protected UniqueId OutputID { get; } protected ChannelReliableSession ReliableSession { get; } protected IReliableFactorySettings Settings { get; } public IDuplexSession Session { get; } protected ReliableDuplexSessionChannel(ChannelManagerBase manager, IReliableFactorySettings settings, IReliableChannelBinder binder); protected virtual void OnRemoteActivity(); protected Task ProcessDuplexMessageAsync(WsrmMessageInfo info); protected abstract Task ProcessMessageAsync(WsrmMessageInfo info); protected Task OnCloseOutputSessionAsync(TimeSpan timeout); protected virtual void OnMessageDropped(); protected void SetConnections(); protected void SetSession(ChannelReliableSession session); protected Task StartReceivingAsync(); } }