trait StreamedCommandContext[Output] extends CommandContext
Context for handling a streamed command.
This may be passed to any CommandHandler annotated element that corresponds to a command whose output is
streamed.
- Alphabetic
- By Inheritance
- StreamedCommandContext
- CommandContext
- ClientActionContext
- EffectContext
- CrdtFactory
- CrdtContext
- EntityContext
- Context
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
commandId(): Long
The id of the command.
The id of the command. This is an internal ID generated by the proxy, and is unique to a given entity stream. It may be used for debugging purposes.
- returns
The ID of the command.
- Definition Classes
- CommandContext
-
abstract
def
commandName(): String
The name of the command.
The name of the command.
Corresponds to the name of the rpc call in the protobuf definition.
- returns
The name of the command.
- Definition Classes
- CommandContext
-
abstract
def
delete(): Unit
Delete the CRDT.
Delete the CRDT.
When a CRDT is deleted, it may not be created again. Additionally, CRDT deletion results in tombstones that get accumulated for the life of the cluster. If you expect to delete CRDTs frequently, it's recommended that you store them in a single or sharded
ORMap, rather than individual CRDTs.- Definition Classes
- CommandContext
-
abstract
def
effect(effect: ServiceCall, synchronous: Boolean): Unit
Invoke the referenced service call as an effect once this action is completed.
Invoke the referenced service call as an effect once this action is completed.
ServiceCallinstances can be created using theServiceCallFactoryobtained from any (including this) contextsContext#serviceCallFactory()method.- effect
The service call to make as an effect effect.
- synchronous
Whether the effect should be performed synchronously (ie, wait till it has finished before sending a reply) or asynchronously.
- Definition Classes
- EffectContext
-
abstract
def
entityId(): String
The id of the entity that this context is for.
The id of the entity that this context is for.
- returns
The entity id.
- Definition Classes
- EntityContext
-
abstract
def
fail(errorMessage: String): Unit
Fail the command with the given message.
Fail the command with the given message.
- errorMessage
The error message to send to the client.
- Definition Classes
- ClientActionContext
-
abstract
def
forward(to: ServiceCall): Unit
Instruct the proxy to forward handling of this command to another entity served by this stateful function.
Instruct the proxy to forward handling of this command to another entity served by this stateful function.
The command will be forwarded after successful completion of handling this command, including any persistence that this command does.
ServiceCallinstances can be created using theServiceCallFactoryobtained from any (including this) contextsContext#serviceCallFactory()method.- to
The service call to forward command processing to.
- Definition Classes
- ClientActionContext
-
abstract
def
isStreamed(): Boolean
Whether the call is actually streamed.
Whether the call is actually streamed.
When a command is handled via the HTTP adapter, the command will not be streamed since the HTTP adapter does not support streaming, and this will return
false. In that case, calls toStreamedCommandContext#onChange(Function)andStreamedCommandContext#onCancel(Consumer)will fail.- returns
True if the command is actually streamed.
-
abstract
def
newFlag(): Flag
Create a new Flag.
-
abstract
def
newGCounter(): GCounter
Create a new GCounter.
-
abstract
def
newGSet[T](): GSet[T]
Create a new GSet.
-
abstract
def
newLWWRegister[T](value: T): LWWRegister[T]
Create a new LWWRegister.
-
abstract
def
newORMap[K, V <: Crdt](): ORMap[K, V]
Create a new ORMap.
-
abstract
def
newORSet[T](): ORSet[T]
Create a new ORSet.
-
abstract
def
newPNCounter(): PNCounter
Create a new PNCounter.
-
abstract
def
newVote(): Vote
Create a new Vote.
-
abstract
def
onCancel(effect: Consumer[StreamCancelledContext]): Unit
Register an on cancel callback for this command.
Register an on cancel callback for this command.
This will be invoked if the client initiates a stream cancel. It will not be invoked if the entity cancels the stream itself via
SubscriptionContext#endStream()from anStreamedCommandContext#onChange(Function)callback.An on cancel callback may update the CRDT, and may emit side effects via the passed in
StreamCancelledContext.- effect
The effect to perform when this stream is cancelled.
-
abstract
def
onChange(subscriber: Function[SubscriptionContext, Optional[Output]]): Unit
Register an on change callback for this command.
Register an on change callback for this command.
The callback will be invoked any time the CRDT changes. The callback may inspect the CRDT, but any attempt to modify the CRDT will be ignored and the CRDT will crash.
If the callback returns a value, that value will be sent down the stream. Alternatively, the callback may forward messages to other entities via the passed in
SubscriptionContext. The callback may also emit side effects to other entities via that context.- subscriber
The subscriber callback.
-
abstract
def
serviceCallFactory(): ServiceCallFactory
Get the service call factory for this stateful service.
Get the service call factory for this stateful service.
- Definition Classes
- Context
-
abstract
def
state[T <: Crdt](crdtClass: Class[T]): Optional[T]
The current CRDT, if it's been created.
The current CRDT, if it's been created.
- crdtClass
The type of the CRDT that is expected.
- returns
The current CRDT, or empty if none has been created yet.
- Definition Classes
- CrdtContext
- Exceptions thrown
IllegalStateExceptionIf the current CRDT does not match the passed incrdtClasstype.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
effect(effect: ServiceCall): Unit
Invoke the referenced service call as an effect once this action is completed.
Invoke the referenced service call as an effect once this action is completed.
The effect will be performed asynchronously, ie, the proxy won't wait for the effect to finish before sending the reply.
ServiceCallinstances can be created using theServiceCallFactoryobtained from any (including this) contextsContext#serviceCallFactory()method.- effect
The service call to make as an effect effect.
- Definition Classes
- EffectContext
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()