C# Class Helios.Channels.AbstractChannel

Inheritance: IChannel
Show file Open project: helios-io/helios Class Usage Examples

Private Properties

Property Type Description

Public Methods

Method Description
BindAsync ( EndPoint localAddress ) : System.Threading.Tasks.Task
CloseAsync ( ) : System.Threading.Tasks.Task
ConnectAsync ( EndPoint remoteAddress ) : System.Threading.Tasks.Task
ConnectAsync ( EndPoint remoteAddress, EndPoint localAddress ) : System.Threading.Tasks.Task
DeregisterAsync ( ) : System.Threading.Tasks.Task
DisconnectAsync ( ) : System.Threading.Tasks.Task
Flush ( ) : IChannel
GetHashCode ( ) : int
Read ( ) : IChannel
ToString ( ) : string
WriteAndFlushAsync ( object message ) : System.Threading.Tasks.Task
WriteAsync ( object message ) : System.Threading.Tasks.Task

Protected Methods

Method Description
AbstractChannel ( IChannel parent ) : System
AbstractChannel ( IChannelId id, IChannel parent ) : System
CacheLocalAddress ( ) : EndPoint
CacheRemoteAddress ( ) : EndPoint
DoBeginRead ( ) : void

ScheduleAsync a read operation.

DoBind ( EndPoint localAddress ) : void

Bind the {@link Channel} to the {@link EndPoint}

DoClose ( ) : void

Close the {@link Channel}

DoDeregister ( ) : void

Deregister the {@link Channel} from its {@link EventLoop}. Sub-classes may override this method

DoDisconnect ( ) : void

Disconnect this {@link Channel} from its remote peer

DoRegister ( ) : void

Is called after the {@link Channel} is registered with its {@link EventLoop} as part of the register process. Sub-classes may override this method

DoWrite ( ChannelOutboundBuffer input ) : void

Flush the content of the given buffer to the remote peer.

FilterOutboundMessage ( object msg ) : object

Invoked when a new message is added to a {@link ChannelOutboundBuffer} of this {@link AbstractChannel}, so that the {@link Channel} implementation converts the message to another. (e.g. heap buffer -> direct buffer)

InvalidateLocalAddress ( ) : void
InvalidateRemoteAddress ( ) : void
IsCompatible ( IEventLoop eventLoop ) : bool

Return {@code true} if the given {@link EventLoop} is compatible with this instance.

NewUnsafe ( ) : IChannelUnsafe

Create a new AbstractUnsafe instance which will be used for the life-time of the IChannel

Method Details

AbstractChannel() protected method

protected AbstractChannel ( IChannel parent ) : System
parent IChannel
return System

AbstractChannel() protected method

protected AbstractChannel ( IChannelId id, IChannel parent ) : System
id IChannelId
parent IChannel
return System

BindAsync() public method

public BindAsync ( EndPoint localAddress ) : System.Threading.Tasks.Task
localAddress System.Net.EndPoint
return System.Threading.Tasks.Task

CacheLocalAddress() protected method

protected CacheLocalAddress ( ) : EndPoint
return System.Net.EndPoint

CacheRemoteAddress() protected method

protected CacheRemoteAddress ( ) : EndPoint
return System.Net.EndPoint

CloseAsync() public method

public CloseAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task

ConnectAsync() public method

public ConnectAsync ( EndPoint remoteAddress ) : System.Threading.Tasks.Task
remoteAddress System.Net.EndPoint
return System.Threading.Tasks.Task

ConnectAsync() public method

public ConnectAsync ( EndPoint remoteAddress, EndPoint localAddress ) : System.Threading.Tasks.Task
remoteAddress System.Net.EndPoint
localAddress System.Net.EndPoint
return System.Threading.Tasks.Task

DeregisterAsync() public method

public DeregisterAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task

DisconnectAsync() public method

public DisconnectAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task

DoBeginRead() protected abstract method

ScheduleAsync a read operation.
protected abstract DoBeginRead ( ) : void
return void

DoBind() protected abstract method

Bind the {@link Channel} to the {@link EndPoint}
protected abstract DoBind ( EndPoint localAddress ) : void
localAddress System.Net.EndPoint
return void

DoClose() protected abstract method

Close the {@link Channel}
protected abstract DoClose ( ) : void
return void

DoDeregister() protected method

Deregister the {@link Channel} from its {@link EventLoop}. Sub-classes may override this method
protected DoDeregister ( ) : void
return void

DoDisconnect() protected abstract method

Disconnect this {@link Channel} from its remote peer
protected abstract DoDisconnect ( ) : void
return void

DoRegister() protected method

Is called after the {@link Channel} is registered with its {@link EventLoop} as part of the register process. Sub-classes may override this method
protected DoRegister ( ) : void
return void

DoWrite() protected abstract method

Flush the content of the given buffer to the remote peer.
protected abstract DoWrite ( ChannelOutboundBuffer input ) : void
input ChannelOutboundBuffer
return void

FilterOutboundMessage() protected method

Invoked when a new message is added to a {@link ChannelOutboundBuffer} of this {@link AbstractChannel}, so that the {@link Channel} implementation converts the message to another. (e.g. heap buffer -> direct buffer)
protected FilterOutboundMessage ( object msg ) : object
msg object
return object

Flush() public method

public Flush ( ) : IChannel
return IChannel

GetHashCode() public method

public GetHashCode ( ) : int
return int

InvalidateLocalAddress() protected method

protected InvalidateLocalAddress ( ) : void
return void

InvalidateRemoteAddress() protected method

protected InvalidateRemoteAddress ( ) : void
return void

IsCompatible() protected abstract method

Return {@code true} if the given {@link EventLoop} is compatible with this instance.
protected abstract IsCompatible ( IEventLoop eventLoop ) : bool
eventLoop IEventLoop
return bool

NewUnsafe() protected abstract method

Create a new AbstractUnsafe instance which will be used for the life-time of the IChannel
protected abstract NewUnsafe ( ) : IChannelUnsafe
return IChannelUnsafe

Read() public method

public Read ( ) : IChannel
return IChannel

ToString() public method

public ToString ( ) : string
return string

WriteAndFlushAsync() public method

public WriteAndFlushAsync ( object message ) : System.Threading.Tasks.Task
message object
return System.Threading.Tasks.Task

WriteAsync() public method

public WriteAsync ( object message ) : System.Threading.Tasks.Task
message object
return System.Threading.Tasks.Task