Server base class for an explicit discipline.
More...
#include <explicit.h>
|
| | ExplicitServer ()=default |
| | Constructor.
|
| |
| | ~ExplicitServer () noexcept |
| | Destructor.
|
| |
| void | LinkPointers (std::shared_ptr< philote::ExplicitDiscipline > implementation) |
| | Links the explicit server to the discipline server and explicit discipline via pointers.
|
| |
| void | UnlinkPointers () |
| | Dereferences all pointers.
|
| |
| grpc::Status | ComputeFunction (grpc::ServerContext *context, grpc::ServerReaderWriter<::philote::Array, ::philote::Array > *stream) override |
| | RPC that computes initiates function evaluation.
|
| |
| grpc::Status | ComputeGradient (grpc::ServerContext *context, grpc::ServerReaderWriter<::philote::Array, ::philote::Array > *stream) override |
| | RPC that computes initiates gradient evaluation.
|
| |
| template<typename StreamType > |
| grpc::Status | ComputeFunctionImpl (grpc::ServerContext *context, StreamType *stream) |
| |
| template<typename StreamType > |
| grpc::Status | ComputeGradientImpl (grpc::ServerContext *context, StreamType *stream) |
| |
| grpc::Status | ComputeFunctionForTesting (grpc::ServerContext *context, grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > *stream) |
| |
| grpc::Status | ComputeGradientForTesting (grpc::ServerContext *context, grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > *stream) |
| |
Server base class for an explicit discipline.
This class should be inherited from by analysis discipline developers to create analysis 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 ExplicitDiscipline must also be thread-safe if concurrent RPC calls are expected. User-defined Compute and ComputePartials methods should include appropriate synchronization if they modify shared state.
◆ ExplicitServer()
| philote::ExplicitServer::ExplicitServer |
( |
| ) |
|
|
default |
◆ ~ExplicitServer()
| philote::ExplicitServer::~ExplicitServer |
( |
| ) |
|
|
noexcept |
◆ ComputeFunction()
| grpc::Status philote::ExplicitServer::ComputeFunction |
( |
grpc::ServerContext * |
context, |
|
|
grpc::ServerReaderWriter<::philote::Array, ::philote::Array > * |
stream |
|
) |
| |
|
override |
RPC that computes initiates function evaluation.
- Parameters
-
- Returns
- grpc::Status
◆ ComputeFunctionForTesting()
| grpc::Status philote::ExplicitServer::ComputeFunctionForTesting |
( |
grpc::ServerContext * |
context, |
|
|
grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > * |
stream |
|
) |
| |
|
inline |
◆ ComputeFunctionImpl()
template<typename StreamType >
| grpc::Status philote::ExplicitServer::ComputeFunctionImpl |
( |
grpc::ServerContext * |
context, |
|
|
StreamType * |
stream |
|
) |
| |
◆ ComputeGradient()
| grpc::Status philote::ExplicitServer::ComputeGradient |
( |
grpc::ServerContext * |
context, |
|
|
grpc::ServerReaderWriter<::philote::Array, ::philote::Array > * |
stream |
|
) |
| |
|
override |
RPC that computes initiates gradient evaluation.
- Parameters
-
- Returns
- grpc::Status
◆ ComputeGradientForTesting()
| grpc::Status philote::ExplicitServer::ComputeGradientForTesting |
( |
grpc::ServerContext * |
context, |
|
|
grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > * |
stream |
|
) |
| |
|
inline |
◆ ComputeGradientImpl()
template<typename StreamType >
| grpc::Status philote::ExplicitServer::ComputeGradientImpl |
( |
grpc::ServerContext * |
context, |
|
|
StreamType * |
stream |
|
) |
| |
◆ LinkPointers()
Links the explicit server to the discipline server and explicit discipline via pointers.
- Parameters
-
| implementation | Shared pointer to the explicit discipline instance |
◆ UnlinkPointers()
| void philote::ExplicitServer::UnlinkPointers |
( |
| ) |
|
Dereferences all pointers.
The documentation for this class was generated from the following file:
- /home/runner/work/Philote-Cpp/Philote-Cpp/include/explicit.h