LogCabin
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Public Attributes
LogCabin::RPC::ClientSession::Response Struct Reference

This contains an expected response for a OpaqueClientRPC object. More...

List of all members.

Public Types

enum  {
  WAITING,
  HAS_REPLY,
  CANCELED
}
 Current state of the RPC. More...

Public Member Functions

 Response ()
 Constructor.

Public Attributes

enum
LogCabin::RPC::ClientSession::Response:: { ... }  
status
 Current state of the RPC.
Core::Buffer reply
 The contents of the response.
bool hasWaiter
 If true, a thread is blocked waiting on ready, and this object may not be deleted.
Core::ConditionVariable ready
 OpaqueClientRPC objects wait on this condition variable inside of wait().

Detailed Description

This contains an expected response for a OpaqueClientRPC object.

This is created when the OpaqueClientRPC is created; it is deleted when the OpaqueClientRPC object is either canceled or updated with a response/error.

Definition at line 163 of file ClientSession.h.


Member Enumeration Documentation

anonymous enum

Current state of the RPC.

Enumerator:
WAITING 

Waiting for a reply from the server.

HAS_REPLY 

Received a reply (find it in reply).

CANCELED 

The RPC has been canceled by another thread.

Definition at line 171 of file ClientSession.h.


Constructor & Destructor Documentation

Constructor.

Definition at line 157 of file ClientSession.cc.


Member Data Documentation

Current state of the RPC.

The contents of the response.

This is valid when status is HAS_REPLY.

Definition at line 189 of file ClientSession.h.

If true, a thread is blocked waiting on ready, and this object may not be deleted.

Definition at line 194 of file ClientSession.h.

OpaqueClientRPC objects wait on this condition variable inside of wait().

It is notified when a new response arrives, the session is disconnected, or the RPC is canceled.

Definition at line 200 of file ClientSession.h.


The documentation for this struct was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines