Base class for all analysis discipline servers.
More...
#include <discipline_server.h>
|
| | DisciplineServer ()=default |
| | Construct a new Discipline Server object.
|
| |
| | ~DisciplineServer () noexcept override |
| | Destroy the Discipline Server object.
|
| |
| bool | DisciplinePointerNull () noexcept |
| | Checks if the Discipline pointer is null.
|
| |
| void | LinkPointers (std::shared_ptr< philote::Discipline > discipline) |
| | Links all pointers needed by the discipline base class.
|
| |
| void | UnlinkPointers () |
| | Unlinks all pointers.
|
| |
| grpc::Status | GetInfo (grpc::ServerContext *context, const google::protobuf::Empty *request, ::philote::DisciplineProperties *response) override |
| | RPC to send the discipline properties to the client.
|
| |
| grpc::Status | SetStreamOptions (grpc::ServerContext *context, const ::philote::StreamOptions *request, google::protobuf::Empty *response) override |
| | RPC to define the discipline stream options to the client.
|
| |
| grpc::Status | SetOptions (grpc::ServerContext *context, const ::philote::DisciplineOptions *request, google::protobuf::Empty *response) override |
| | Set the discipline options.
|
| |
| ::grpc::Status | GetAvailableOptions (::grpc::ServerContext *context, const ::google::protobuf::Empty *request, ::philote::OptionsList *response) override |
| |
| grpc::Status | GetVariableDefinitions (grpc::ServerContext *context, const google::protobuf::Empty *request, grpc::ServerWriter<::philote::VariableMetaData > *writer) override |
| | RPC to define the discipline variables on the client side.
|
| |
| grpc::Status | GetPartialDefinitions (grpc::ServerContext *context, const google::protobuf::Empty *request, grpc::ServerWriter<::philote::PartialsMetaData > *writer) override |
| | RPC to define the discipline partials on the client side.
|
| |
| grpc::Status | Setup (grpc::ServerContext *context, const google::protobuf::Empty *request, google::protobuf::Empty *response) override |
| | RPC that invokes the discipline setup function.
|
| |
Base class for all analysis discipline servers.
- Note
- Thread Safety: gRPC may invoke RPC handlers concurrently on the same server instance. While the server infrastructure itself is thread-safe, the linked Discipline must also be thread-safe if concurrent RPC calls are expected. The current architecture links to a single Discipline instance, so user-defined Compute methods should include appropriate synchronization if needed.
◆ DisciplineServer()
| philote::DisciplineServer::DisciplineServer |
( |
| ) |
|
|
default |
◆ ~DisciplineServer()
| philote::DisciplineServer::~DisciplineServer |
( |
| ) |
|
|
overridenoexcept |
Destroy the Discipline Server object.
Deallocates all pointers required by the discipline base class
◆ DisciplinePointerNull()
| bool philote::DisciplineServer::DisciplinePointerNull |
( |
| ) |
|
|
noexcept |
Checks if the Discipline pointer is null.
- Returns
- true if the pointer is null, otherwise false.
◆ GetAvailableOptions()
| ::grpc::Status philote::DisciplineServer::GetAvailableOptions |
( |
::grpc::ServerContext * |
context, |
|
|
const ::google::protobuf::Empty * |
request, |
|
|
::philote::OptionsList * |
response |
|
) |
| |
|
override |
◆ GetInfo()
| grpc::Status philote::DisciplineServer::GetInfo |
( |
grpc::ServerContext * |
context, |
|
|
const google::protobuf::Empty * |
request, |
|
|
::philote::DisciplineProperties * |
response |
|
) |
| |
|
override |
RPC to send the discipline properties to the client.
- Parameters
-
- Returns
- grpc::Status
◆ GetPartialDefinitions()
| grpc::Status philote::DisciplineServer::GetPartialDefinitions |
( |
grpc::ServerContext * |
context, |
|
|
const google::protobuf::Empty * |
request, |
|
|
grpc::ServerWriter<::philote::PartialsMetaData > * |
writer |
|
) |
| |
|
override |
RPC to define the discipline partials on the client side.
- Parameters
-
- Returns
- grpc::Status
◆ GetVariableDefinitions()
| grpc::Status philote::DisciplineServer::GetVariableDefinitions |
( |
grpc::ServerContext * |
context, |
|
|
const google::protobuf::Empty * |
request, |
|
|
grpc::ServerWriter<::philote::VariableMetaData > * |
writer |
|
) |
| |
|
override |
RPC to define the discipline variables on the client side.
- Parameters
-
- Returns
- grpc::Status
◆ LinkPointers()
| void philote::DisciplineServer::LinkPointers |
( |
std::shared_ptr< philote::Discipline > |
discipline | ) |
|
Links all pointers needed by the discipline base class.
- Parameters
-
| discipline | Shared pointer to the discipline instance |
◆ SetOptions()
| grpc::Status philote::DisciplineServer::SetOptions |
( |
grpc::ServerContext * |
context, |
|
|
const ::philote::DisciplineOptions * |
request, |
|
|
google::protobuf::Empty * |
response |
|
) |
| |
|
override |
Set the discipline options.
- Parameters
-
- Returns
- grpc::Status
◆ SetStreamOptions()
| grpc::Status philote::DisciplineServer::SetStreamOptions |
( |
grpc::ServerContext * |
context, |
|
|
const ::philote::StreamOptions * |
request, |
|
|
google::protobuf::Empty * |
response |
|
) |
| |
|
override |
RPC to define the discipline stream options to the client.
- Parameters
-
- Returns
- grpc::Status
◆ Setup()
| grpc::Status philote::DisciplineServer::Setup |
( |
grpc::ServerContext * |
context, |
|
|
const google::protobuf::Empty * |
request, |
|
|
google::protobuf::Empty * |
response |
|
) |
| |
|
override |
RPC that invokes the discipline setup function.
- Parameters
-
- Returns
- grpc::Status
◆ UnlinkPointers()
| void philote::DisciplineServer::UnlinkPointers |
( |
| ) |
|
The documentation for this class was generated from the following file: