|
TAO_PI_Server
2.3.4
|
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.
1.8.9.1