Package org.drasyl.pipeline
Class DefaultHandlerContext
java.lang.Object
org.drasyl.pipeline.DefaultHandlerContext
- All Implemented Interfaces:
HandlerContext
The default handler context implementation.
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultHandlerContext
(String name, Handler handler, DrasylConfig config, Pipeline pipeline, io.reactivex.rxjava3.core.Scheduler scheduler, Identity identity, TypeValidator inboundValidator, TypeValidator outboundValidator) Generates a new default handler context for the givenhandler
. -
Method Summary
Modifier and TypeMethodDescriptionconfig()
Returns the correspondingDrasylConfig
.fireEventTriggered
(Event event, CompletableFuture<Void> future) Received an event.fireExceptionCaught
(Exception cause) Received anThrowable
in one of the inbound operations.fireRead
(Address sender, Object msg, CompletableFuture<Void> future) Received a message.handler()
Returns the associatedHandler
.identity()
Returns the identifier of this node.Returns the inbound type validator of this pipeline.name()
Returns the name of theHandler
.Returns the outbound type validator of this pipeline.pipeline()
Returns the correspondingPipeline
.io.reactivex.rxjava3.core.Scheduler
Implementation Note: This method should always return a scheduler, that differs from the normal pipeline scheduler.write
(Address recipient, Object msg, CompletableFuture<Void> future) Request to write a message via thisHandlerContext
through thePipeline
.
-
Constructor Details
-
DefaultHandlerContext
public DefaultHandlerContext(String name, Handler handler, DrasylConfig config, Pipeline pipeline, io.reactivex.rxjava3.core.Scheduler scheduler, Identity identity, TypeValidator inboundValidator, TypeValidator outboundValidator) Generates a new default handler context for the givenhandler
.- Parameters:
name
- the name of the handlerhandler
- the handlerconfig
- the config of the drasyl nodepipeline
- the corresponding pipeline objectscheduler
- the corresponding scheduleridentity
- the identity of the corresponding nodeinboundValidator
- the inbound validator of the pipelineoutboundValidator
- the outbound validator of the pipeline
-
-
Method Details
-
handler
Description copied from interface:HandlerContext
Returns the associatedHandler
.- Returns:
- the associated
Handler
-
name
Description copied from interface:HandlerContext
Returns the name of theHandler
.- Specified by:
name
in interfaceHandlerContext
- Returns:
- the name of the
Handler
-
fireExceptionCaught
Description copied from interface:HandlerContext
Received anThrowable
in one of the inbound operations.This will result in having the
Handler.exceptionCaught(HandlerContext, Exception)
method called of the nextHandler
contained in thePipeline
.- Specified by:
fireExceptionCaught
in interfaceHandlerContext
- Parameters:
cause
- the cause
-
fireRead
Description copied from interface:HandlerContext
Received a message.This will result in having the
Handler.read(HandlerContext, Address, Object, CompletableFuture)
method called of the nextHandler
contained in thePipeline
.- Specified by:
fireRead
in interfaceHandlerContext
- Parameters:
sender
- the sender of the messagemsg
- the messagefuture
- the future of the message
-
fireEventTriggered
Description copied from interface:HandlerContext
Received an event.This will result in having the
Handler.eventTriggered(HandlerContext, Event, CompletableFuture)
method called of the nextHandler
contained in thePipeline
.- Specified by:
fireEventTriggered
in interfaceHandlerContext
- Parameters:
event
- the eventfuture
- the future of the message
-
write
Description copied from interface:HandlerContext
Request to write a message via thisHandlerContext
through thePipeline
.- Specified by:
write
in interfaceHandlerContext
- Parameters:
recipient
- the recipient of the messagemsg
- the messagefuture
- the future of the message
-
config
Description copied from interface:HandlerContext
Returns the correspondingDrasylConfig
.- Specified by:
config
in interfaceHandlerContext
- Returns:
- the corresponding
DrasylConfig
-
pipeline
Description copied from interface:HandlerContext
Returns the correspondingPipeline
.- Specified by:
pipeline
in interfaceHandlerContext
- Returns:
- the corresponding
Pipeline
-
scheduler
public io.reactivex.rxjava3.core.Scheduler scheduler()Description copied from interface:HandlerContext
Implementation Note: This method should always return a scheduler, that differs from the normal pipeline scheduler. E.g. theDrasylScheduler.getInstanceHeavy()
- Specified by:
scheduler
in interfaceHandlerContext
- Returns:
- the corresponding
Scheduler
-
identity
Description copied from interface:HandlerContext
Returns the identifier of this node.- Specified by:
identity
in interfaceHandlerContext
- Returns:
- the identity of this node
-
inboundValidator
Description copied from interface:HandlerContext
Returns the inbound type validator of this pipeline.- Specified by:
inboundValidator
in interfaceHandlerContext
- Returns:
- the inbound type validator
-
outboundValidator
Description copied from interface:HandlerContext
Returns the outbound type validator of this pipeline.- Specified by:
outboundValidator
in interfaceHandlerContext
- Returns:
- the outbound type validator
-