public abstract class ContextSource
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
protected Eventbus |
eventbus
Eventbus of the ServiceBroker or Context.
|
protected java.lang.String |
nodeID
Source nodeID
|
protected ServiceInvoker |
serviceInvoker
Service Invoker of the ServiceBroker or Context.
|
protected UidGenerator |
uidGenerator
UID Generator of the ServiceBroker or Context.
|
Modifier | Constructor and Description |
---|---|
protected |
ContextSource(ServiceInvoker serviceInvoker,
Eventbus eventbus,
UidGenerator uidGenerator,
java.lang.String nodeID) |
Modifier and Type | Method and Description |
---|---|
void |
broadcast(java.lang.String name,
java.lang.Object... params)
Sends an event to ALL listeners from ALL (or the specified) event
group(s), who are listening this event.
|
void |
broadcast(java.lang.String name,
PacketStream stream)
Sends an event to ALL listeners from ALL event groups, who are
listening this event.
|
void |
broadcast(java.lang.String name,
PacketStream stream,
Groups groups)
Sends an event to ALL listeners from ALL event groups, who are
listening this event.
|
void |
broadcast(java.lang.String name,
io.datatree.Tree payload)
Sends an event to ALL listeners from ALL event groups, who are
listening this event.
|
void |
broadcast(java.lang.String name,
io.datatree.Tree payload,
Groups groups)
Sends an event to ALL listeners from the specified event group(s),
who are listening this event.
|
protected void |
broadcast(java.lang.String name,
io.datatree.Tree payload,
Groups groups,
PacketStream stream,
CallOptions.Options opts,
boolean local) |
void |
broadcastLocal(java.lang.String name,
java.lang.Object... params)
Emits a LOCAL event to ALL listeners from ALL (or the
specified) event group(s), who are listening this event.
|
void |
broadcastLocal(java.lang.String name,
io.datatree.Tree payload)
Emits a LOCAL event to ALL listeners from ALL event groups,
who are listening this event.
|
void |
broadcastLocal(java.lang.String name,
io.datatree.Tree payload,
Groups groups)
Emits a LOCAL event to ALL listeners from the specified
event group(s), who are listening this event.
|
io.datatree.Promise |
call(java.lang.String name,
java.lang.Object... params)
Calls an action (local or remote).
|
io.datatree.Promise |
call(java.lang.String name,
PacketStream stream)
Calls an action (local or remote).
|
io.datatree.Promise |
call(java.lang.String name,
PacketStream stream,
CallOptions.Options opts)
Calls an action (local or remote).
|
io.datatree.Promise |
call(java.lang.String name,
io.datatree.Tree params)
Calls an action (local or remote).
|
io.datatree.Promise |
call(java.lang.String name,
io.datatree.Tree params,
CallOptions.Options opts)
Calls an action (local or remote).
|
protected io.datatree.Promise |
call(java.lang.String name,
io.datatree.Tree params,
CallOptions.Options opts,
PacketStream stream) |
PacketStream |
createStream()
Creates a stream what is suitable for transferring large files (or other
"unlimited" media content) between Moleculer Nodes.
|
void |
emit(java.lang.String name,
java.lang.Object... params)
Emits an event to ONE listener from ALL (or the specified) event
group(s), who are listening this event.
|
void |
emit(java.lang.String name,
PacketStream stream)
Emits an event to ONE listener from ALL event groups, who are
listening this event.
|
void |
emit(java.lang.String name,
PacketStream stream,
Groups groups)
Emits an event to ONE listener from ALL event groups, who are
listening this event.
|
void |
emit(java.lang.String name,
io.datatree.Tree payload)
Emits an event to ONE listener from ALL event groups, who are
listening this event.
|
void |
emit(java.lang.String name,
io.datatree.Tree payload,
Groups groups)
Emits an event to ONE listener from the specified event group(s),
who are listening this event.
|
protected void |
emit(java.lang.String name,
io.datatree.Tree payload,
Groups groups,
PacketStream stream,
CallOptions.Options opts) |
protected final Eventbus eventbus
protected final ServiceInvoker serviceInvoker
protected final UidGenerator uidGenerator
protected final java.lang.String nodeID
protected ContextSource(ServiceInvoker serviceInvoker, Eventbus eventbus, UidGenerator uidGenerator, java.lang.String nodeID)
public void emit(java.lang.String name, java.lang.Object... params)
strategy
of the broker for event redirection and
node selection. Sample code:name
- name of event (eg. "user.deleted")params
- list of parameter name-value pairs and an optional
event group
containerpublic void emit(java.lang.String name, io.datatree.Tree payload, Groups groups)
strategy
of the broker for event redirection and node
selection. Sample code:name
- name of event (eg. "user.modified")payload
- Tree
structure (payload of the event)groups
- event group
containerpublic void emit(java.lang.String name, io.datatree.Tree payload)
strategy
of the broker for event redirection and node selection. Sample
code:name
- name of event (eg. "user.created")payload
- Tree
structure (payload of the event)public void emit(java.lang.String name, PacketStream stream)
strategy
of the broker for event redirection and node selection.name
- name of event (eg. "user.created")stream
- streamed datapublic void emit(java.lang.String name, PacketStream stream, Groups groups)
strategy
of the broker for event redirection and node selection.name
- name of event (eg. "user.created")stream
- streamed datagroups
- event group
containerpublic void broadcast(java.lang.String name, java.lang.Object... params)
name
- name of event (eg. "user.deleted")params
- list of parameter name-value pairs and an optional
event group
containerpublic void broadcast(java.lang.String name, io.datatree.Tree payload, Groups groups)
name
- name of event (eg. "user.modified")payload
- Tree
structure (payload of the event)groups
- event group
containerpublic void broadcast(java.lang.String name, io.datatree.Tree payload)
name
- name of event (eg. "user.created")payload
- Tree
structure (payload of the event)public void broadcast(java.lang.String name, PacketStream stream)
name
- name of event (eg. "user.created")stream
- streamed datapublic void broadcast(java.lang.String name, PacketStream stream, Groups groups)
name
- name of event (eg. "user.created")stream
- streamed datagroups
- event group
containerpublic void broadcastLocal(java.lang.String name, java.lang.Object... params)
name
- name of event (eg. "user.deleted")params
- list of parameter name-value pairs and an optional
event group
containerpublic void broadcastLocal(java.lang.String name, io.datatree.Tree payload, Groups groups)
name
- name of event (eg. "user.modified")payload
- Tree
structure (payload of the event)groups
- event group
containerpublic void broadcastLocal(java.lang.String name, io.datatree.Tree payload)
name
- name of event (eg. "user.created")payload
- Tree
structure (payload of the event)public io.datatree.Promise call(java.lang.String name, java.lang.Object... params)
name
- action name (eg. "math.add" in "service.action" syntax)params
- list of parameter name-value pairs and an optional CallOptionspublic io.datatree.Promise call(java.lang.String name, io.datatree.Tree params)
name
- action name (eg. "math.add" in "service.action" syntax)params
- Tree
structure (input parameters of the method call)public io.datatree.Promise call(java.lang.String name, io.datatree.Tree params, CallOptions.Options opts)
name
- action name (eg. "math.add" in "service.action" syntax)params
- Tree
structure (input parameters of the method call)opts
- calling options (target nodeID, call timeout, number of
retries)public io.datatree.Promise call(java.lang.String name, PacketStream stream)
name
- action name (eg. "math.add" in "service.action" syntax)stream
- streamed data (optional)public io.datatree.Promise call(java.lang.String name, PacketStream stream, CallOptions.Options opts)
name
- action name (eg. "math.add" in "service.action" syntax)stream
- streamed data (optional)opts
- calling options (target nodeID, call timeout, number of
retries)public PacketStream createStream()
public Action send = ctx -> { PacketStream reqStream = ctx.createStream(); ctx.call("service.action", reqStream).then(rsp -> { // Receive bytes into file PacketStream rspStream = (PacketStream) rsp.asObject(); rspStream.transferTo(new File("out")); } // Send bytes from file reqStream.transferFrom(new File("in")); }
protected void emit(java.lang.String name, io.datatree.Tree payload, Groups groups, PacketStream stream, CallOptions.Options opts)
protected void broadcast(java.lang.String name, io.datatree.Tree payload, Groups groups, PacketStream stream, CallOptions.Options opts, boolean local)
protected io.datatree.Promise call(java.lang.String name, io.datatree.Tree params, CallOptions.Options opts, PacketStream stream)