Package io.netty.channel.nio
Class NioIoHandler
- java.lang.Object
-
- io.netty.channel.nio.NioIoHandler
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
Destroy theIoHandler
and free all its resources.boolean
isCompatible(java.lang.Class<? extends IoHandle> handleType)
Returnstrue
if the given type is compatible with thisIoHandler
and so can be registered,false
otherwise.static IoHandlerFactory
newFactory()
Returns a newIoHandlerFactory
that createsNioIoHandler
instancesstatic IoHandlerFactory
newFactory(java.nio.channels.spi.SelectorProvider selectorProvider)
Returns a newIoHandlerFactory
that createsNioIoHandler
instances.static IoHandlerFactory
newFactory(java.nio.channels.spi.SelectorProvider selectorProvider, SelectStrategyFactory selectStrategyFactory)
Returns a newIoHandlerFactory
that createsNioIoHandler
instances.void
prepareToDestroy()
Prepare to destroy thisIoHandler
.IoRegistration
register(IoHandle handle)
Register aIoHandle
for IO.int
run(IoHandlerContext context)
Run the IO handled by thisIoHandler
.java.nio.channels.spi.SelectorProvider
selectorProvider()
void
wakeup()
Wakeup theIoHandler
, which means if any operation blocks it should be unblocked and return as soon as possible.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty.channel.IoHandler
initialize
-
-
-
-
Method Detail
-
selectorProvider
public java.nio.channels.spi.SelectorProvider selectorProvider()
-
register
public IoRegistration register(IoHandle handle) throws java.lang.Exception
Description copied from interface:IoHandler
Register aIoHandle
for IO.
-
run
public int run(IoHandlerContext context)
Description copied from interface:IoHandler
Run the IO handled by thisIoHandler
. TheIoHandlerContext
should be used to ensure we not execute too long and so block the processing of other task that are scheduled on theThreadAwareExecutor
. This is done by takingIoHandlerContext.delayNanos(long)
orIoHandlerContext.deadlineNanos()
into account.- Specified by:
run
in interfaceIoHandler
- Parameters:
context
- theIoHandlerContext
.- Returns:
- the number of
IoHandle
for which I/O was handled.
-
destroy
public void destroy()
Description copied from interface:IoHandler
-
prepareToDestroy
public void prepareToDestroy()
Description copied from interface:IoHandler
Prepare to destroy thisIoHandler
. This method will be called beforeIoHandler.destroy()
and may be called multiple times.- Specified by:
prepareToDestroy
in interfaceIoHandler
-
wakeup
public void wakeup()
Description copied from interface:IoHandler
Wakeup theIoHandler
, which means if any operation blocks it should be unblocked and return as soon as possible.
-
isCompatible
public boolean isCompatible(java.lang.Class<? extends IoHandle> handleType)
Description copied from interface:IoHandler
Returnstrue
if the given type is compatible with thisIoHandler
and so can be registered,false
otherwise.- Specified by:
isCompatible
in interfaceIoHandler
- Parameters:
handleType
- the type of theIoHandle
.- Returns:
- if compatible of not.
-
newFactory
public static IoHandlerFactory newFactory()
Returns a newIoHandlerFactory
that createsNioIoHandler
instances- Returns:
- factory the
IoHandlerFactory
.
-
newFactory
public static IoHandlerFactory newFactory(java.nio.channels.spi.SelectorProvider selectorProvider)
Returns a newIoHandlerFactory
that createsNioIoHandler
instances.- Parameters:
selectorProvider
- theSelectorProvider
to use.- Returns:
- factory the
IoHandlerFactory
.
-
newFactory
public static IoHandlerFactory newFactory(java.nio.channels.spi.SelectorProvider selectorProvider, SelectStrategyFactory selectStrategyFactory)
Returns a newIoHandlerFactory
that createsNioIoHandler
instances.- Parameters:
selectorProvider
- theSelectorProvider
to use.selectStrategyFactory
- theSelectStrategyFactory
to use.- Returns:
- factory the
IoHandlerFactory
.
-
-