Closed ecorm closed 2 years ago
Client requirements:
HELLO.Details.roles.caller.features.partitioned_rpc|bool := true
HELLO.Details.roles.callee.features.partitioned_rpc|bool := true
CALL.Options.runon|string := "all" | "any" | "partition"
CALL.Options.runmode|string := "gather" | "progressive"
CALL.Options.rkey|string
runmode == "gather"
, the callee will receive all results in a single list in the RESULT
reply.runmode == "progressive
, the callee will receive progressive results (RESULT.Details.progress == 1
)The behavior is currently incomplete in the spec regarding what happens if any of the invocations return an ERROR
.
The description for CALL.Options.runmode == "partition"
and CALL.Options.rkey
is incomplete in the spec. Presumably CALL.Options.rkey
is a way for nodes to registers themselves as a group under some common key.
This feature currently seems unstable.
The spec for this feature is still in "sketch" mode. There is no extra logic required to support this feature client-side in CppWAMP. The various CALL.Options
can be set manually via the wamp::Options
interface.
Implement partitioned registrations, as per the advanced spec.