public class Context extends EventEmitter
| Modifier and Type | Field and Description |
|---|---|
java.lang.String |
id
Unique context ID
|
int |
level
Request level (in nested-calls) - the first level is 1
|
java.lang.String |
name
Action name
|
CallOptions.Options |
opts
Calling options
|
io.datatree.Tree |
params
Request parameters (including
meta) |
java.lang.String |
parentID
Parent context ID (in nested-calls)
|
java.lang.String |
requestID
Request ID (= first context ID)
|
protected ServiceInvoker |
serviceInvoker |
long |
startTime
Context creation time
|
PacketStream |
stream
Streamed content
|
eventbus| Constructor and Description |
|---|
Context(ServiceInvoker serviceInvoker,
Eventbus eventbus,
java.lang.String id,
java.lang.String name,
io.datatree.Tree params,
CallOptions.Options opts,
PacketStream stream) |
Context(ServiceInvoker serviceInvoker,
Eventbus eventbus,
java.lang.String id,
java.lang.String name,
io.datatree.Tree params,
CallOptions.Options opts,
PacketStream stream,
int level,
java.lang.String requestID,
java.lang.String parentID) |
Context(java.lang.String id,
java.lang.String name,
io.datatree.Tree params,
CallOptions.Options opts,
PacketStream stream,
Context parent) |
| Modifier and Type | Method and Description |
|---|---|
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,
io.datatree.Tree params)
Calls an action (local or remote).
|
protected 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)
Calls an action (local or remote).
|
PacketStream |
createStream()
Creates a stream what is suitable for transferring large files (or other
"unlimited" media content) between Moleculer Nodes.
|
broadcast, broadcast, broadcast, broadcastLocal, broadcastLocal, broadcastLocal, emit, emit, emitpublic final java.lang.String id
public final java.lang.String name
public final io.datatree.Tree params
meta)public final int level
public final java.lang.String parentID
public final java.lang.String requestID
public final CallOptions.Options opts
public final long startTime
public PacketStream stream
protected final ServiceInvoker serviceInvoker
public Context(ServiceInvoker serviceInvoker, Eventbus eventbus, java.lang.String id, java.lang.String name, io.datatree.Tree params, CallOptions.Options opts, PacketStream stream)
public Context(java.lang.String id,
java.lang.String name,
io.datatree.Tree params,
CallOptions.Options opts,
PacketStream stream,
Context parent)
public Context(ServiceInvoker serviceInvoker, Eventbus eventbus, java.lang.String id, java.lang.String name, io.datatree.Tree params, CallOptions.Options opts, PacketStream stream, int level, java.lang.String requestID, java.lang.String parentID)
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)protected 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)protected io.datatree.Promise call(java.lang.String name,
io.datatree.Tree params,
CallOptions.Options opts,
PacketStream stream)
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)stream - streamed data (optional)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"));
}