aboutsummaryrefslogtreecommitdiffstats
path: root/docs/development/actors
diff options
context:
space:
mode:
authorRam Krishna Verma <ram_krishna.verma@bell.ca>2020-05-19 16:24:34 +0000
committerGerrit Code Review <gerrit@onap.org>2020-05-19 16:24:34 +0000
commitdf9e261c35b31069e9023080cf21de923158f02e (patch)
tree2bba7a380561520127b3717d0c64057cb82fd7fe /docs/development/actors
parentdfb750234156390cfd7d4a15049d3fd882c76617 (diff)
parent056a2888ecf4a098804c010df60c4e73636eee7c (diff)
Merge "More documentation of specific actor types"
Diffstat (limited to 'docs/development/actors')
-rw-r--r--docs/development/actors/overview.rst14
1 files changed, 12 insertions, 2 deletions
diff --git a/docs/development/actors/overview.rst b/docs/development/actors/overview.rst
index b9c24cec..f1ca0d68 100644
--- a/docs/development/actors/overview.rst
+++ b/docs/development/actors/overview.rst
@@ -63,6 +63,11 @@ Actor
are loaded first. If a later actor has the same name as one that has already been
loaded, a warning will be generated and the later actor discarded. This makes it
possible for an organization to override an actor implementation
+- An implementation for a specific Actor will typically be derived from
+ *HttpActor* or *BidirectionalTopicActor*, depending whether it is HTTP/REST-based
+ or DMaaP-topic-based. These super classes provide most of the functionality needed
+ to configure the operators, extracting operator-specific properties and adding
+ default, actor-level properties
Operator
********
@@ -84,8 +89,13 @@ Operation
and then continue; the invoker need not deal with the dependency
- Subclasses will typically derive from *HttpOperation* or *BidirectionalTopicOperation*,
though if neither of those suffice, then they can extend *OperationPartial*, or
- even just implement a raw *Operation*
-- Operation subclasses should be written in a way so-as to avoid any blocking I/O
+ even just implement a raw *Operation*. *OperationPartial* is the super class of
+ *HttpOperation* and *BidirectionalTopicOperation* and provides most of the methods
+ used by the Operation subclasses, including a number of utility methods (e.g.,
+ cancellable *allOf*)
+- Operation subclasses should be written in a way so-as to avoid any blocking I/O. If
+ this proves too difficult, then the implementation should override *doOperation()*
+ instead of *startOperationAsync()*
- Operations return a "future" when *start()* is invoked. Typically, if the "future" is
canceled, then any outstanding operation should be canceled. For instance, HTTP
connections should be closed without waiting for a response