Class AbstractPollableChannel
- Namespace
- Steeltoe.Integration.Channel
- Assembly
- Steeltoe.Integration.IntegrationBase.dll
public abstract class AbstractPollableChannel : AbstractMessageChannel, IPollableChannel, IMessageChannel, IServiceNameAware, ITaskSchedulerChannelInterceptorAware, IChannelInterceptorAware
- Inheritance
-
AbstractPollableChannel
- Implements
- Derived
- Inherited Members
Constructors
AbstractPollableChannel(IApplicationContext, ILogger)
protected AbstractPollableChannel(IApplicationContext context, ILogger logger = null)
Parameters
context
IApplicationContextlogger
ILogger
AbstractPollableChannel(IApplicationContext, string, ILogger)
protected AbstractPollableChannel(IApplicationContext context, string name, ILogger logger = null)
Parameters
context
IApplicationContextname
stringlogger
ILogger
Properties
ChannelInterceptors
Gets or sets the channel interceptors
public override List<IChannelInterceptor> ChannelInterceptors { get; set; }
Property Value
HasTaskSchedulerInterceptors
Gets a value indicating whether there are any task scheduler interceptors on the channel
public virtual bool HasTaskSchedulerInterceptors { get; }
Property Value
TaskSchedulerInterceptorsSize
public int TaskSchedulerInterceptorsSize { get; }
Property Value
Methods
AddInterceptor(IChannelInterceptor)
Add a interceptor to the channel
public override void AddInterceptor(IChannelInterceptor interceptor)
Parameters
interceptor
IChannelInterceptorthe interceptor
AddInterceptor(int, IChannelInterceptor)
Add an interceptor to the channel at the specified index
public override void AddInterceptor(int index, IChannelInterceptor interceptor)
Parameters
index
intthe index to add the interceptor at
interceptor
IChannelInterceptorthe interceptor
DoReceive(int)
protected virtual IMessage DoReceive(int timeout)
Parameters
timeout
int
Returns
DoReceive(CancellationToken)
protected virtual IMessage DoReceive(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationToken
Returns
DoReceiveInternal(CancellationToken)
protected abstract IMessage DoReceiveInternal(CancellationToken cancellationToken)
Parameters
cancellationToken
CancellationToken
Returns
Receive()
Receive a message from this channel, blocking forever if necessary.
public virtual IMessage Receive()
Returns
- IMessage
the message
Receive(int)
Receive a message from this channel, blocking until either a message is available or the specified timeout period elapses.
public virtual IMessage Receive(int timeout)
Parameters
timeout
intthe timeout value in milliseconds
Returns
- IMessage
the message or null
ReceiveAsync(CancellationToken)
Receive a message from this channel
public virtual ValueTask<IMessage> ReceiveAsync(CancellationToken cancellationToken = default)
Parameters
cancellationToken
CancellationTokentoken used to signal cancelation
Returns
RemoveInterceptor(IChannelInterceptor)
Remove an intercetptor from the channel
public override bool RemoveInterceptor(IChannelInterceptor interceptor)
Parameters
interceptor
IChannelInterceptorthe interceptor
Returns
- bool
succss or failure
RemoveInterceptor(int)
Remove an interceptor at the specified index
public override IChannelInterceptor RemoveInterceptor(int index)
Parameters
index
intthe index
Returns
- IChannelInterceptor
removed interceptor