C# Class Helios.Channels.AbstractChannel.AbstractUnsafe

IChannelUnsafe implementation which sub-classes must extend and use.
Inheritance: IChannelUnsafe
Afficher le fichier Open project: helios-io/helios

Méthodes publiques

Свойство Type Description
InvokeWritabilityChanged System.Action
InvokeWritabilityChangedUnsafe Action

Protected Properties

Свойство Type Description
_channel AbstractChannel

Méthodes publiques

Méthode Description
BeginRead ( ) : void
BindAsync ( EndPoint localAddress ) : System.Threading.Tasks.Task
CloseAsync ( ) : System.Threading.Tasks.Task
CloseForcibly ( ) : void
ConnectAsync ( EndPoint remoteAddress, EndPoint localAddress ) : System.Threading.Tasks.Task
DeregisterAsync ( ) : System.Threading.Tasks.Task

This method must NEVER be called directly, but be executed as an extra task with a clean call stack instead. The reason for this is that this method calls {@link ChannelPipeline#fireChannelUnregistered()} directly, which might lead to an unfortunate nesting of independent inbound/outbound events. See the comments input {@link #invokeLater(Runnable)} for more details.

DisconnectAsync ( ) : System.Threading.Tasks.Task
Flush ( ) : void
RegisterAsync ( IEventLoop eventLoop ) : System.Threading.Tasks.Task
SafeSetSuccess ( TaskCompletionSource promise ) : void
WriteAsync ( object msg ) : System.Threading.Tasks.Task

Méthodes protégées

Méthode Description
AbstractUnsafe ( AbstractChannel channel ) : System
AnnotateConnectException ( Exception exception, EndPoint remoteAddress ) : Exception
CloseIfClosed ( ) : void
CreateClosedChannelExceptionTask ( ) : System.Threading.Tasks.Task
EnsureOpen ( TaskCompletionSource promise ) : bool
Flush0 ( ) : void

Private Methods

Méthode Description
DoClose0 ( TaskCompletionSource promise ) : void
FireChannelInactiveAndDeregister ( bool wasActive ) : void
InvokeLater ( System.Action task ) : void
Register0 ( TaskCompletionSource promise ) : void
SafeSetFailure ( TaskCompletionSource promise, Exception cause ) : void

Method Details

AbstractUnsafe() protected méthode

protected AbstractUnsafe ( AbstractChannel channel ) : System
channel AbstractChannel
Résultat System

AnnotateConnectException() protected méthode

protected AnnotateConnectException ( Exception exception, EndPoint remoteAddress ) : Exception
exception System.Exception
remoteAddress System.Net.EndPoint
Résultat System.Exception

BeginRead() public méthode

public BeginRead ( ) : void
Résultat void

BindAsync() public méthode

public BindAsync ( EndPoint localAddress ) : System.Threading.Tasks.Task
localAddress System.Net.EndPoint
Résultat System.Threading.Tasks.Task

CloseAsync() public méthode

public CloseAsync ( ) : System.Threading.Tasks.Task
Résultat System.Threading.Tasks.Task

CloseForcibly() public méthode

public CloseForcibly ( ) : void
Résultat void

CloseIfClosed() protected méthode

protected CloseIfClosed ( ) : void
Résultat void

ConnectAsync() public abstract méthode

public abstract ConnectAsync ( EndPoint remoteAddress, EndPoint localAddress ) : System.Threading.Tasks.Task
remoteAddress System.Net.EndPoint
localAddress System.Net.EndPoint
Résultat System.Threading.Tasks.Task

CreateClosedChannelExceptionTask() protected méthode

protected CreateClosedChannelExceptionTask ( ) : System.Threading.Tasks.Task
Résultat System.Threading.Tasks.Task

DeregisterAsync() public méthode

This method must NEVER be called directly, but be executed as an extra task with a clean call stack instead. The reason for this is that this method calls {@link ChannelPipeline#fireChannelUnregistered()} directly, which might lead to an unfortunate nesting of independent inbound/outbound events. See the comments input {@link #invokeLater(Runnable)} for more details.
public DeregisterAsync ( ) : System.Threading.Tasks.Task
Résultat System.Threading.Tasks.Task

DisconnectAsync() public méthode

public DisconnectAsync ( ) : System.Threading.Tasks.Task
Résultat System.Threading.Tasks.Task

EnsureOpen() protected méthode

protected EnsureOpen ( TaskCompletionSource promise ) : bool
promise TaskCompletionSource
Résultat bool

Flush() public méthode

public Flush ( ) : void
Résultat void

Flush0() protected méthode

protected Flush0 ( ) : void
Résultat void

RegisterAsync() public méthode

public RegisterAsync ( IEventLoop eventLoop ) : System.Threading.Tasks.Task
eventLoop IEventLoop
Résultat System.Threading.Tasks.Task

SafeSetSuccess() public méthode

public SafeSetSuccess ( TaskCompletionSource promise ) : void
promise TaskCompletionSource
Résultat void

WriteAsync() public méthode

public WriteAsync ( object msg ) : System.Threading.Tasks.Task
msg object
Résultat System.Threading.Tasks.Task

Property Details

InvokeWritabilityChanged public_oe property

public Action,System InvokeWritabilityChanged
Résultat System.Action

InvokeWritabilityChangedUnsafe public_oe static_oe property

public static Action InvokeWritabilityChangedUnsafe
Résultat Action

_channel protected_oe property

protected AbstractChannel,Helios.Channels _channel
Résultat AbstractChannel