diff --git a/services/lib/src/BaseReactor.h b/services/lib/src/BaseReactor.h --- a/services/lib/src/BaseReactor.h +++ b/services/lib/src/BaseReactor.h @@ -12,10 +12,20 @@ class BaseReactor { public: + // Returns a status holder that consists of: + // - reactor's state, + // - status of the operation that's being performed by this reactor. virtual std::shared_ptr getStatusHolder() = 0; + // Should be called when we plan to terminate the connection for some reason + // either with a success or a failure status. + // Receives a status indicating a result of the reactor's operation. virtual void terminate(const grpc::Status &status) = 0; + // Validates current values of the reactor's fields. virtual void validate() = 0; + // Should be called when `OnDone` is called. gRPC calls `OnDone` when there + // are not going to be more rpc operations. virtual void doneCallback() = 0; + // Should be called when `terminate` is called. virtual void terminateCallback() = 0; };