@ExportPackage @PublicApi
Package com.yahoo.messagebus
This package contains the main API of the message bus. The typical user will instantiate
RPCMessageBus
.-
Interface Summary Interface Description ConfigHandler This class declares those methods required to be a handler for an instance of theConfigAgent
class.MessageBus.SendBlockedMessages MessagebusConfig.Producer MessageHandler All classes that wants to handle messages that move through the messagebus need to implement this interface.Messenger.Task Defines the required interface for tasks to be posted to this worker.Protocol Interface implemented by the concrete application message protocol.ReplyHandler All classes that wants to handle replies that move through the messagebus need to implement this interface.ThrottlePolicy An implementation of this interface is used bySourceSession
to throttle output. -
Class Summary Class Description AllPassThrottlePolicy This is an implementation of theThrottlePolicy
that passes all requests (no real throttling).CallStack An wrapper around a stack of frame objects that is aware of the message that owns it.ConfigAgent This class implements subscription to message bus config.DestinationSession A session supporting receiving and replying to messages.DestinationSessionParams To facilitate several configuration parameters to theMessageBus.createDestinationSession(DestinationSessionParams)
, all parameters are held by this class.DynamicThrottlePolicy This is an implementation of theThrottlePolicy
that offers dynamic limits to the number of pending messages aSourceSession
is allowed to have.EmptyReply The empty reply is the only concrete implementation of a message that is offered by the MessageBus.Error This class implements the pair (code, message) that is used in Reply to hold errors.ErrorCode This interface contains the reserved error codes that are used for errors that occur within the messagebus.IntermediateSession A session which supports receiving, forwarding and acknowledging messages.IntermediateSessionParams To facilitate several configuration parameters to theMessageBus.createIntermediateSession(IntermediateSessionParams)
, all parameters are held by this class.Message A message is a child of Routable, it is not a reply, and it has a sequencing identifier.MessageBus A message bus contains the factory for creating sessions to send, receive and forward messages.MessagebusConfig This class represents the root node of messagebus Copyright 2017 Yahoo Holdings.MessagebusConfig.Builder MessagebusConfig.Routingtable This class represents messagebus.routingtable[]MessagebusConfig.Routingtable.Builder MessagebusConfig.Routingtable.Hop This class represents messagebus.routingtable[].hop[]MessagebusConfig.Routingtable.Hop.Builder MessagebusConfig.Routingtable.Route This class represents messagebus.routingtable[].route[]MessagebusConfig.Routingtable.Route.Builder MessageBusParams To facilitate several configuration parameters to theMessageBus
constructor, all parameters are held by this class.Messenger This class implements a single thread that is able to process arbitrary tasks.NetworkMessageBus The combination of a messagebus and a network over which it may send data.ProtocolRepository Implements a thread-safe repository for protocols and their routing policies.RateThrottlingPolicy Throttling policy that throttles sending based on a desired rate.Reply A reply is a response to a message that has been sent throught the messagebus.Result Information on the outcome of initiating a send or forward on a session.Routable Superclass for objects that can be either explicitly (Message) or implicitly (Reply) routed.RPCMessageBus The RPCMessageBus class wraps a MessageBus with an RPCNetwork and handles reconfiguration.SendProxy This class owns a message that is being sent by message bus.Sequencer Sequencing is implemented as a message handler that is configured in a source session in that session's chain of linked message handlers.SourceSession A session supporting sending new messages.SourceSessionParams To facilitate several configuration parameters to theMessageBus.createSourceSession(ReplyHandler, SourceSessionParams)
, all parameters are held by this class.StaticThrottlePolicy This is an implementation of theThrottlePolicy
that offers static limits to the amount of pending data aSourceSession
is allowed to have.Trace A Trace object contains ad-hoc string notes organized in a strict-loose tree.TraceLevel This class defines theTrace
levels used by message bus.TraceNode This class contains the actual trace information of aTrace
object.