E2SAR 0.2.0
All Data Structures Namespaces Functions Typedefs Enumerations
e2sar Namespace Reference

Data Structures

class  Affinity
 
struct  E2SARErrorInfo
 
class  E2SARException
 
class  EjfatURI
 
struct  LBHdr
 
class  LBManager
 
struct  LBREHdr
 
struct  LBStatus
 
struct  LBWorkerStatus
 
class  NetUtil
 
class  Optimizations
 
struct  OverviewEntry
 
struct  pair_equal
 
struct  pair_hash
 
class  Reassembler
 
struct  REHdr
 
class  Segmenter
 
struct  SyncHdr
 

Typedefs

using TimeUntil = google::protobuf::Timestamp
 
using OverviewMessage = std::vector<OverviewEntry>
 
template<class T >
using result = outcome::result<T, E2SARErrorInfo>
 
using EventNum_t = u_int64_t
 
using UnixTimeNano_t = u_int64_t
 
using UnixTimeMicro_t = u_int64_t
 
using EventRate_t = u_int32_t
 
using OptimizationsWord = u_int16_t
 

Enumerations

enum class  E2SARErrorc {
  NoError = 0 , CaughtException = 1 , ParseError = 2 , ParameterError = 3 ,
  ParameterNotAvailable = 4 , OutOfRange = 5 , Undefined = 6 , NotFound = 7 ,
  RPCError = 8 , SocketError = 9 , MemoryError = 10 , LogicError = 11 ,
  SystemError = 12
}
 

Functions

const std::string & get_Version ()
 
std::error_code make_error_code (e2sar::E2SARErrorc e)
 
std::error_code make_error_code (E2SARErrorInfo e)
 
boost::exception_ptr make_exception_ptr (E2SARErrorInfo e)
 
struct e2sar::REHdr __attribute__ ((__packed__))
 
template<typename Container >
std::string concatWithSeparator (const Container &c, const std::string &sep=","s)
 
void busyWaitUsecs (const boost::chrono::steady_clock::time_point &tp, int64_t usecs)
 
result< std::string > read_file (std::string_view path)
 
template<class X >
boost::tuple< X, X, X > pid (const X &setPoint, const X &prcsVal, const X &delta_t, const X &Kp, const X &Ki, const X &Kd, const X &prev_err, const X &prev_integral)
 
bool operator== (const EjfatURI &u1, const EjfatURI &u2)
 

Variables

const size_t RECV_BUFFER_SIZE {9000}
 
constexpr u_int8_t rehdrVersion = 1
 
constexpr u_int8_t rehdrVersionNibble = rehdrVersion << 4
 
constexpr u_int8_t lbhdrVersion = 2
 
constexpr u_int8_t synchdrVersion = 2
 
constexpr size_t IP_HDRLEN = 20
 
constexpr size_t UDP_HDRLEN = 8
 
constexpr size_t TOTAL_HDR_LEN {IP_HDRLEN + UDP_HDRLEN + sizeof(LBHdr) + sizeof(REHdr)}
 
const u_int16_t DATAPLANE_PORT = 19522
 

Detailed Description

This file defines error codes for E2SAR and plugs the error code classes into system::error_code such that E2SAR functions can return result objects (either result or error code)

Typedef Documentation

◆ TimeUntil

using e2sar::TimeUntil = google::protobuf::Timestamp

The LBManager knows how to speak to load balancer control plane over gRPC. It can be run from Segmenter, Reassembler or a third party like the workflow manager. This is used to specify for how long the loadbalancer is needed use google::protobuf::util::FromString(string, TimeStamp*) to convert from RFC 3339 string like "1972-01-01T10:00:20.021Z" or "1972-01-01T10:00:20.021-05:00"

Enumeration Type Documentation

◆ E2SARErrorc

enum class e2sar::E2SARErrorc
strong

error codes (in addition to standard std::errc error codes)

Function Documentation

◆ pid()

template<class X >
boost::tuple< X, X, X > e2sar::pid ( const X & setPoint,
const X & prcsVal,
const X & delta_t,
const X & Kp,
const X & Ki,
const X & Kd,
const X & prev_err,
const X & prev_integral )

Function implementing a PID computation. Returns a pair of <PID, Current Error>

◆ read_file()

result< std::string > e2sar::read_file ( std::string_view path)