Philote-Cpp
C++ bindings for the Philote MDO standard
Loading...
Searching...
No Matches
philote::ImplicitServer Class Reference

Implicit server class. More...

#include <implicit.h>

Inheritance diagram for philote::ImplicitServer:

Public Member Functions

 ImplicitServer ()=default
 Constructor.
 
 ~ImplicitServer () noexcept
 Destructor.
 
void LinkPointers (std::shared_ptr< philote::ImplicitDiscipline > implementation)
 Links the explicit server to the discipline server and explicit discipline via pointers.
 
void UnlinkPointers ()
 Dereferences all pointers.
 
grpc::Status ComputeResiduals (grpc::ServerContext *context, grpc::ServerReaderWriter<::philote::Array, ::philote::Array > *stream)
 RPC that computes the residual evaluation.
 
grpc::Status SolveResiduals (grpc::ServerContext *context, grpc::ServerReaderWriter<::philote::Array, ::philote::Array > *stream)
 RPC that computes the residual evaluation.
 
grpc::Status ComputeResidualGradients (grpc::ServerContext *context, grpc::ServerReaderWriter<::philote::Array, ::philote::Array > *stream)
 RPC that computes the residual evaluation.
 
template<typename StreamType >
grpc::Status ComputeResidualsImpl (grpc::ServerContext *context, StreamType *stream)
 
template<typename StreamType >
grpc::Status SolveResidualsImpl (grpc::ServerContext *context, StreamType *stream)
 
template<typename StreamType >
grpc::Status ComputeResidualGradientsImpl (grpc::ServerContext *context, StreamType *stream)
 
grpc::Status ComputeResidualsForTesting (grpc::ServerContext *context, grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > *stream)
 
grpc::Status SolveResidualsForTesting (grpc::ServerContext *context, grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > *stream)
 
grpc::Status ComputeResidualGradientsForTesting (grpc::ServerContext *context, grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > *stream)
 

Detailed Description

Implicit server class.

Note
Thread Safety: gRPC may invoke RPC handlers concurrently on the same server instance. While the server infrastructure itself is thread-safe, the linked ImplicitDiscipline must also be thread-safe if concurrent RPC calls are expected. User-defined ComputeResiduals, SolveResiduals, and ComputeResidualGradients methods should include appropriate synchronization if they modify shared state.

Constructor & Destructor Documentation

◆ ImplicitServer()

philote::ImplicitServer::ImplicitServer ( )
default

Constructor.

◆ ~ImplicitServer()

philote::ImplicitServer::~ImplicitServer ( )
noexcept

Destructor.

Member Function Documentation

◆ ComputeResidualGradients()

grpc::Status philote::ImplicitServer::ComputeResidualGradients ( grpc::ServerContext *  context,
grpc::ServerReaderWriter<::philote::Array, ::philote::Array > *  stream 
)

RPC that computes the residual evaluation.

Parameters
context
stream
Returns
grpc::Status

◆ ComputeResidualGradientsForTesting()

grpc::Status philote::ImplicitServer::ComputeResidualGradientsForTesting ( grpc::ServerContext *  context,
grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > *  stream 
)
inline

◆ ComputeResidualGradientsImpl()

template<typename StreamType >
grpc::Status philote::ImplicitServer::ComputeResidualGradientsImpl ( grpc::ServerContext *  context,
StreamType *  stream 
)

◆ ComputeResiduals()

grpc::Status philote::ImplicitServer::ComputeResiduals ( grpc::ServerContext *  context,
grpc::ServerReaderWriter<::philote::Array, ::philote::Array > *  stream 
)

RPC that computes the residual evaluation.

Parameters
context
stream
Returns
grpc::Status

◆ ComputeResidualsForTesting()

grpc::Status philote::ImplicitServer::ComputeResidualsForTesting ( grpc::ServerContext *  context,
grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > *  stream 
)
inline

◆ ComputeResidualsImpl()

template<typename StreamType >
grpc::Status philote::ImplicitServer::ComputeResidualsImpl ( grpc::ServerContext *  context,
StreamType *  stream 
)

◆ LinkPointers()

void philote::ImplicitServer::LinkPointers ( std::shared_ptr< philote::ImplicitDiscipline implementation)

Links the explicit server to the discipline server and explicit discipline via pointers.

Parameters
implementationShared pointer to the implicit discipline instance

◆ SolveResiduals()

grpc::Status philote::ImplicitServer::SolveResiduals ( grpc::ServerContext *  context,
grpc::ServerReaderWriter<::philote::Array, ::philote::Array > *  stream 
)

RPC that computes the residual evaluation.

Parameters
context
stream
Returns
grpc::Status

◆ SolveResidualsForTesting()

grpc::Status philote::ImplicitServer::SolveResidualsForTesting ( grpc::ServerContext *  context,
grpc::ServerReaderWriterInterface<::philote::Array, ::philote::Array > *  stream 
)
inline

◆ SolveResidualsImpl()

template<typename StreamType >
grpc::Status philote::ImplicitServer::SolveResidualsImpl ( grpc::ServerContext *  context,
StreamType *  stream 
)

◆ UnlinkPointers()

void philote::ImplicitServer::UnlinkPointers ( )

Dereferences all pointers.


The documentation for this class was generated from the following file: