VLink 2.0.0
A high-performance communication middleware
Loading...
Searching...
No Matches
vlink::Status::SampleRejected Struct Referencefinal

Status event fired when an incoming sample is rejected due to a resource limit. More...

#include <status_detail.h>

Inheritance diagram for vlink::Status::SampleRejected:
Collaboration diagram for vlink::Status::SampleRejected:

Public Types

enum  Kind : uint8_t { kNotRejected = 0 , kRejectedByInstancesLimit = 1 , kRejectedBySamplesLimit = 2 , kRejectedBySamplesPerInstanceLimit = 3 }
 Reason codes for sample rejection. More...

Public Member Functions

Type get_type () const override
 Returns kSampleRejected.
std::string get_string () const override
 Returns a human-readable summary of this status.

Public Attributes

int32_t total_count {0}
 Total number of samples rejected.
int32_t total_count_change {0}
 Change in total_count since last callback.
Kind last_reason {kNotRejected}
 Reason for the most recent rejection.
InstanceHandle last_instance_handle {nullptr}
 Handle of the instance that was most recently rejected.

Friends

VLINK_EXPORT friend std::ostream & operator<< (std::ostream &ostream, const SampleRejected &status) noexcept
 Writes the status fields to ostream.

Additional Inherited Members

Detailed Description

Status event fired when an incoming sample is rejected due to a resource limit.

The Kind enum identifies which resource limit caused the rejection. last_reason and last_instance_handle describe the most recent rejection.

Member Enumeration Documentation

◆ Kind

Reason codes for sample rejection.

Kind Limit exceeded
kNotRejected Sample was not rejected
kRejectedByInstancesLimit Max instances limit reached
kRejectedBySamplesLimit Max total samples limit reached
kRejectedBySamplesPerInstanceLimit Max samples per instance reached
Enumerator
kNotRejected 

No rejection.

kRejectedByInstancesLimit 

Max instances limit exceeded.

kRejectedBySamplesLimit 

Max total samples limit exceeded.

kRejectedBySamplesPerInstanceLimit 

Max samples per instance limit exceeded.

Member Function Documentation

◆ get_string()

std::string vlink::Status::SampleRejected::get_string ( ) const
nodiscardoverridevirtual

Returns a human-readable summary of this status.

Returns
String describing rejection counts and last rejection reason.

Implements vlink::Status::Base.

◆ get_type()

Type vlink::Status::SampleRejected::get_type ( ) const
nodiscardoverridevirtual

Returns kSampleRejected.

Returns
Status type identifier.

Implements vlink::Status::Base.

◆ operator<<

VLINK_EXPORT friend std::ostream & operator<< ( std::ostream & ostream,
const SampleRejected & status )
friend

Writes the status fields to ostream.

Parameters
ostreamOutput stream.
statusThis SampleRejected status.
Returns
Reference to ostream.

Member Data Documentation

◆ last_instance_handle

InstanceHandle vlink::Status::SampleRejected::last_instance_handle {nullptr}

Handle of the instance that was most recently rejected.

◆ last_reason

Kind vlink::Status::SampleRejected::last_reason {kNotRejected}

Reason for the most recent rejection.

◆ total_count

int32_t vlink::Status::SampleRejected::total_count {0}

Total number of samples rejected.

◆ total_count_change

int32_t vlink::Status::SampleRejected::total_count_change {0}

Change in total_count since last callback.


The documentation for this struct was generated from the following file: