a summary a TLS I/O operation outcome More...

#include <Io.h>

Inheritance diagram for Security::IoResult:
Collaboration diagram for Security::IoResult:

Public Types

enum  Category {
  ioSuccess,
  ioWantRead,
  ioWantWrite,
  ioError
}
 all possible outcome cases More...
 
typedef RefCount< IoResultPointer
 

Public Member Functions

 IoResult (const Category aCategory)
 
 IoResult (const ErrorDetailPointer &anErrorDetail)
 
 IoResult (const IoResult &aRes)=default
 
bool successful () const
 convenience wrapper to detect successful I/O outcome; implies !wantsIo() More...
 
bool wantsIo () const
 convenience wrapper to detect whether more I/O is needed More...
 
void printGist (std::ostream &) const
 reports brief summary (on one line) suitable for low-level debugging More...
 
void printWithExtras (std::ostream &) const
 

Public Attributes

ErrorDetailPointer errorDetail
 ioError case details (or nil) More...
 
Category category = ioError
 primary outcome classification More...
 
const char * errorDescription = nullptr
 a brief description of an error More...
 
bool important = false
 whether the error was serious/unusual More...
 

Private Member Functions

void printDescription (std::ostream &) const
 common part of printGist() and printWithExtras() More...
 

Detailed Description

Definition at line 19 of file Io.h.

Member Typedef Documentation

◆ Pointer

Definition at line 21 of file Io.h.

Member Enumeration Documentation

◆ Category

Enumerator
ioSuccess 
ioWantRead 
ioWantWrite 
ioError 

Definition at line 24 of file Io.h.

Constructor & Destructor Documentation

◆ IoResult() [1/3]

Security::IoResult::IoResult ( const Category  aCategory)
inlineexplicit

Definition at line 26 of file Io.h.

◆ IoResult() [2/3]

Security::IoResult::IoResult ( const ErrorDetailPointer anErrorDetail)
inlineexplicit

Definition at line 27 of file Io.h.

◆ IoResult() [3/3]

Security::IoResult::IoResult ( const IoResult aRes)
default

Member Function Documentation

◆ printDescription()

void IoResult< RT >::printDescription ( std::ostream &  os) const
private

Definition at line 29 of file Io.cc.

References category, errorDescription, ioError, ioSuccess, ioWantRead, and ioWantWrite.

◆ printGist()

void IoResult< RT >::printGist ( std::ostream &  os) const

Definition at line 50 of file Io.cc.

Referenced by Security::operator<<().

◆ printWithExtras()

void IoResult< RT >::printWithExtras ( std::ostream &  os) const

reports detailed summary, often using multiple Debug::Extra lines suitable for level-0/1 cache.log messages

Definition at line 59 of file Io.cc.

References Debug::Extra().

◆ successful()

bool Security::IoResult::successful ( ) const
inline

Definition at line 31 of file Io.h.

References category, and ioSuccess.

◆ wantsIo()

bool Security::IoResult::wantsIo ( ) const
inline

Definition at line 34 of file Io.h.

References category, ioWantRead, and ioWantWrite.

Member Data Documentation

◆ category

◆ errorDescription

const char* Security::IoResult::errorDescription = nullptr

Definition at line 48 of file Io.h.

Referenced by printDescription().

◆ errorDetail

ErrorDetailPointer Security::IoResult::errorDetail

◆ important

bool Security::IoResult::important = false

Definition at line 49 of file Io.h.

Referenced by ConnStateData::handleSslBumpHandshakeError().


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

 

Introduction

Documentation

Support

Miscellaneous