Package rst.communicationpatterns
Data types related to communication at the integration level.
One example is TaskState
which is
used in the task state pattern.
Messages
digraph message_graph {
fontname="Arial";
fontsize=11;
stylesheet="../_static/graphs.css";
node [fontsize=11,fontname="Arial"]
edge [fontsize=11,fontname="Arial"]
"1" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState" TITLE="Structure rst.communicationpatterns.TaskState" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/message.svg"></IMG></TD><TD ALIGN="left">TaskState</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.Origin" TITLE="Enum rst.communicationpatterns.TaskState.Origin" TARGET="_parent">Origin</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.origin" TITLE="Field rst.communicationpatterns.TaskState.origin" TARGET="_parent" PORT="origin">origin</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State" TITLE="Enum rst.communicationpatterns.TaskState.State" TARGET="_parent">State</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.state" TITLE="Field rst.communicationpatterns.TaskState.state" TARGET="_parent" PORT="state">state</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-UINT32.html#UINT32" TITLE="Fundamental UINT32" TARGET="_parent">UINT32</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.serial" TITLE="Field rst.communicationpatterns.TaskState.serial" TARGET="_parent" PORT="serial">serial</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-OCTET-VECTOR.html#OCTET-VECTOR" TITLE="Fundamental OCTET-VECTOR" TARGET="_parent">OCTET-VECTOR</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.wire_schema" TITLE="Field rst.communicationpatterns.TaskState.wire_schema" TARGET="_parent" PORT="wire_schema">wire_schema</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-__rosetta-OCTET-VECTOR.html#OCTET-VECTOR" TITLE="Fundamental OCTET-VECTOR" TARGET="_parent">OCTET-VECTOR</TD><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.payload" TITLE="Field rst.communicationpatterns.TaskState.payload" TARGET="_parent" PORT="payload">payload</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"3" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State" TITLE="Enum rst.communicationpatterns.TaskState.State" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/enum.svg"></IMG></TD><TD ALIGN="left">State</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.INITIATED" TITLE="Value rst.communicationpatterns.TaskState.State.INITIATED" TARGET="_parent">INITIATED</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.INITIATED" TITLE="Value rst.communicationpatterns.TaskState.State.INITIATED" TARGET="_parent">0</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.ACCEPTED" TITLE="Value rst.communicationpatterns.TaskState.State.ACCEPTED" TARGET="_parent">ACCEPTED</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.ACCEPTED" TITLE="Value rst.communicationpatterns.TaskState.State.ACCEPTED" TARGET="_parent">1</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.REJECTED" TITLE="Value rst.communicationpatterns.TaskState.State.REJECTED" TARGET="_parent">REJECTED</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.REJECTED" TITLE="Value rst.communicationpatterns.TaskState.State.REJECTED" TARGET="_parent">2</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.UPDATE" TITLE="Value rst.communicationpatterns.TaskState.State.UPDATE" TARGET="_parent">UPDATE</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.UPDATE" TITLE="Value rst.communicationpatterns.TaskState.State.UPDATE" TARGET="_parent">3</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.UPDATE_REJECTED" TITLE="Value rst.communicationpatterns.TaskState.State.UPDATE_REJECTED" TARGET="_parent">UPDATE_REJECTED</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.UPDATE_REJECTED" TITLE="Value rst.communicationpatterns.TaskState.State.UPDATE_REJECTED" TARGET="_parent">4</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.ABORT" TITLE="Value rst.communicationpatterns.TaskState.State.ABORT" TARGET="_parent">ABORT</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.ABORT" TITLE="Value rst.communicationpatterns.TaskState.State.ABORT" TARGET="_parent">5</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.ABORTED" TITLE="Value rst.communicationpatterns.TaskState.State.ABORTED" TARGET="_parent">ABORTED</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.ABORTED" TITLE="Value rst.communicationpatterns.TaskState.State.ABORTED" TARGET="_parent">6</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.ABORT_FAILED" TITLE="Value rst.communicationpatterns.TaskState.State.ABORT_FAILED" TARGET="_parent">ABORT_FAILED</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.ABORT_FAILED" TITLE="Value rst.communicationpatterns.TaskState.State.ABORT_FAILED" TARGET="_parent">7</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.RESULT_AVAILABLE" TITLE="Value rst.communicationpatterns.TaskState.State.RESULT_AVAILABLE" TARGET="_parent">RESULT_AVAILABLE</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.RESULT_AVAILABLE" TITLE="Value rst.communicationpatterns.TaskState.State.RESULT_AVAILABLE" TARGET="_parent">8</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.COMPLETED" TITLE="Value rst.communicationpatterns.TaskState.State.COMPLETED" TARGET="_parent">COMPLETED</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.COMPLETED" TITLE="Value rst.communicationpatterns.TaskState.State.COMPLETED" TARGET="_parent">9</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.FAILED" TITLE="Value rst.communicationpatterns.TaskState.State.FAILED" TARGET="_parent">FAILED</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.State.FAILED" TITLE="Value rst.communicationpatterns.TaskState.State.FAILED" TARGET="_parent">10</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"2" [label=<<TABLE BORDER="0"><TR><TD COLSPAN="2" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.Origin" TITLE="Enum rst.communicationpatterns.TaskState.Origin" TARGET="_parent"><TABLE BORDER="0"><TR><TD ALIGN="right"><IMG SRC="../_static/enum.svg"></IMG></TD><TD ALIGN="left">Origin</TD></TR></TABLE></TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.Origin.SUBMITTER" TITLE="Value rst.communicationpatterns.TaskState.Origin.SUBMITTER" TARGET="_parent">SUBMITTER</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.Origin.SUBMITTER" TITLE="Value rst.communicationpatterns.TaskState.Origin.SUBMITTER" TARGET="_parent">0</TD></TR><TR><TD ALIGN="left" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.Origin.HANDLER" TITLE="Value rst.communicationpatterns.TaskState.Origin.HANDLER" TARGET="_parent">HANDLER</TD><TD ALIGN="right" HREF="../generated/stable/package-rst-communicationpatterns.html#rst.communicationpatterns.TaskState.Origin.HANDLER" TITLE="Value rst.communicationpatterns.TaskState.Origin.HANDLER" TARGET="_parent">1</TD></TR></TABLE>>,shape=box,style=filled,fillcolor="white"];
"1" -> "2" [];
"1" -> "3" [];
"1":state -> "3" [];
"1":origin -> "2" [];
}
clearer: should be made invisible via css
Message TaskState
class rst.communicationpatterns.
TaskState
Represents the initiation or update of a potentially long-running task.
The task is represented as a current state (state
field) and
a datum or “specification” (represented by the wire_schema
and payload
fields).
Code author: Jan Moringen <jmoringe@ techfak. uni-bielefeld. de >
origin
Describes the origin of the update.
Has to be SUBMITTER when the task is being
initiated.
state
State to which the task should be updated.
Has to be INITIATED when the task is being
initiated.
serial
TODO
wire_schema
Type of the payload blob.
This field and the payload
field are intended to be
processed by a (de)serialization mechanism that decodes/encodes
the payload blob according to the type information in
wireSchema.
Todo
type should be ascii-string
payload
See wire_schema
.
Download this file
message TaskState {
/**
* Possible states of the task an update of which the @ref
* .TaskState object represents.
*
* Initial task submission:
*
* Applicable in states: none (since initial submission)
*
* Possible values of @ref .state:
*
* * @ref .INITIATED
* * @ref .ACCEPTED
* * @ref .REJECTED
*
* Updated of an accepted task:
*
* Applicable in states: @ref .ACCEPTED
*
* Possible values of @ref .state:
*
* * @ref .UPDATE
* * @ref .UPDATE_REJECTED
*
* Aborting an accepted task:
*
* Applicable in states: @ref .ACCEPTED
*
* Possible values of @ref .state:
*
* * @ref .ABORT
* * @ref .ABORTED
* * @ref .ABORT_FAILED
*
* Final states:
*
* * @ref .RESULT_AVAILABLE
* * @ref .COMPLETED
* * @ref .FAILED
*
*/
enum State {
/**
* Client submits specification with @ref .INITIATED state.
*
* Server accepts or rejects task and publishes specification
* with @ref .ACCEPTED or @ref .REJECTED state accordingly.
*/
INITIATED = 0 ;
/**
* See @ref .INITIATED.
*/
ACCEPTED = 1 ;
/**
* See @ref .INITIATED.
*/
REJECTED = 2 ;
/**
* Client publishes (modified) specification with @ref .UPDATE
* state.
*
* Server accepts or rejects the update and publishes
* specification with @ref .ACCEPTED or @ref .UPDATE_REJECTED
* state accordingly.
*/
UPDATE = 3 ;
/**
* See @ref .UPDATE.
*/
UPDATE_REJECTED = 4 ;
/**
* @todo document
*/
ABORT = 5 ;
/**
* See @ref .ABORT.
*/
ABORTED = 6 ;
/**
* See @ref .ABORT.
*/
ABORT_FAILED = 7 ;
/**
* @todo document
*/
RESULT_AVAILABLE = 8 ;
/**
* See @ref .RESULT_AVAILABLE.
*/
COMPLETED = 9 ;
/**
* See @ref .RESULT_AVAILABLE.
*/
FAILED = 10 ;
}
/**
* Describes the role of the component doing the update.
*/
enum Origin {
/**
* The task state update is performed by the submitter.
*/
SUBMITTER = 0 ;
/**
* The task state update is performed by the handler.
*/
HANDLER = 1 ;
}
/**
* Describes the origin of the update.
*
* Has to be @ref .Origin.SUBMITTER when the task is being
* initiated.
*/
required Origin origin = 1 ;
/**
* State to which the task should be updated.
*
* Has to be @ref .State.INITIATED when the task is being
* initiated.
*/
required State state = 2 ;
/**
* TODO
*/
required uint32 serial = 3 ;
/**
* Type of the payload blob.
*
* This field and the @ref .payload field are intended to be
* processed by a (de)serialization mechanism that decodes/encodes
* the payload blob according to the type information in
* wireSchema.
*
* @todo "type should be ascii-string"
*/
required bytes wire_schema = 4 ;
/**
* See @ref .wire_schema.
*/
required bytes payload = 5 ;
}
Message State
class rst.communicationpatterns.TaskState.
State
Possible states of the task an update of which the TaskState
object represents.
Initial task submission:
Applicable in states: none (since initial submission)
Possible values of state
:
INITIATED
ACCEPTED
REJECTED
Updated of an accepted task:
Applicable in states: ACCEPTED
Possible values of state
:
Aborting an accepted task:
Applicable in states: ACCEPTED
Possible values of state
:
ABORT
ABORTED
ABORT_FAILED
Final states:
RESULT_AVAILABLE
COMPLETED
FAILED
INITIATED
= 0
Client submits specification with INITIATED state.
Server accepts or rejects task and publishes specification
with ACCEPTED or REJECTED state accordingly.
ACCEPTED
= 1
See INITIATED .
REJECTED
= 2
See INITIATED .
UPDATE
= 3
Client publishes (modified) specification with UPDATE
state.
Server accepts or rejects the update and publishes
specification with ACCEPTED or UPDATE_REJECTED
state accordingly.
UPDATE_REJECTED
= 4
See UPDATE .
ABORT
= 5
ABORTED
= 6
See ABORT .
ABORT_FAILED
= 7
See ABORT .
RESULT_AVAILABLE
= 8
COMPLETED
= 9
See RESULT_AVAILABLE .
FAILED
= 10
See RESULT_AVAILABLE .
Download this file
enum State {
/**
* Client submits specification with @ref .INITIATED state.
*
* Server accepts or rejects task and publishes specification
* with @ref .ACCEPTED or @ref .REJECTED state accordingly.
*/
INITIATED = 0 ;
/**
* See @ref .INITIATED.
*/
ACCEPTED = 1 ;
/**
* See @ref .INITIATED.
*/
REJECTED = 2 ;
/**
* Client publishes (modified) specification with @ref .UPDATE
* state.
*
* Server accepts or rejects the update and publishes
* specification with @ref .ACCEPTED or @ref .UPDATE_REJECTED
* state accordingly.
*/
UPDATE = 3 ;
/**
* See @ref .UPDATE.
*/
UPDATE_REJECTED = 4 ;
/**
* @todo document
*/
ABORT = 5 ;
/**
* See @ref .ABORT.
*/
ABORTED = 6 ;
/**
* See @ref .ABORT.
*/
ABORT_FAILED = 7 ;
/**
* @todo document
*/
RESULT_AVAILABLE = 8 ;
/**
* See @ref .RESULT_AVAILABLE.
*/
COMPLETED = 9 ;
/**
* See @ref .RESULT_AVAILABLE.
*/
FAILED = 10 ;
}
Message Origin
class rst.communicationpatterns.TaskState.
Origin
Describes the role of the component doing the update.
SUBMITTER
= 0
The task state update is performed by the submitter.
HANDLER
= 1
The task state update is performed by the handler.
Download this file
enum Origin {
/**
* The task state update is performed by the submitter.
*/
SUBMITTER = 0 ;
/**
* The task state update is performed by the handler.
*/
HANDLER = 1 ;
}