TAO_PI_Server
2.2.5
|
Class used to make copying between request scope current and thread scope current exception-safe. More...
#include <PICurrent_Guard.h>
Public Member Functions | |
PICurrent_Guard (TAO_ServerRequest &server_request, bool tsc_to_rsc) | |
Constructor. More... | |
~PICurrent_Guard (void) | |
Destructor. More... | |
Private Attributes | |
PICurrent_Impl * | src_ |
The PICurrent implementation whose slot table will be copied. More... | |
PICurrent_Impl * | dest_ |
Class used to make copying between request scope current and thread scope current exception-safe.
Since copies between the request scope current and thread scope current must also occur if an exception is thrown, e.g. made available to the send_exception() interception points, the "guard" idiom is used to make this action exception-safe.
TAO::PICurrent_Guard::PICurrent_Guard | ( | TAO_ServerRequest & | server_request, |
bool | tsc_to_rsc | ||
) |
Constructor.
This constructor sets up this guard to copy the data held in a given PICurrent when transitioning from that PICurrent's scope to another scope (e.g. request scope to thread scope transition immediately following receive_request_service_contexts() on server side).
tsc_to_rsc | true when copying TSC slot table to RSC slot table, i.e. after target operation completes. |
TAO::PICurrent_Guard::~PICurrent_Guard | ( | void | ) |
Destructor.
The destructor copies (a logical copy whenever possible) data held in a given PICurrent when transitioning from one PICurrent scope to another immediately before any ending interception points are invoked, and after the starting and intermediate (if any) interception points are invoked.
|
private |
The PICurrent implementation whose slot table will be filled with the contents of another PICurrent's slot table.
|
private |
The PICurrent implementation whose slot table will be copied.