ImFusion SDK 4.3
ImFusion::Network Namespace Reference

Namespace for network communication bundled in the subfolder 'Stream/Network'. More...

Detailed Description

Namespace for network communication bundled in the subfolder 'Stream/Network'.

See also
Network Communication

Classes

struct  AccessToken
 Represents an access token for a HTTP server. More...
 
class  AuthorizationProvider
 Interface for providing the Authorization header for WebRequests. More...
 
class  ClientConnectionBase
 Base class providing an interface for client communication. More...
 
class  ConnectionBase
 Abstract non-templated base class for all connection types. More...
 
struct  ConnectionBlueprint
 Defines the necessary information for registering a new connection type. More...
 
class  ConnectionFactory
 The ConnectionFactory manages available connection protocols and creates new connections based on the provided configuration. More...
 
class  ConnectionLatencyMeasuringAlgorithm
 Measure the delay (latency) experienced in transmitting data with the corresponding protocol, where the transmission data is represented as std::string, and the each message is defined as[TIMESTAMP]:time_in_ms,[ID]:message_id. More...
 
struct  HttpError
 
class  IPAddress
 A class for handling and validating IPv4 addresses. More...
 
class  LoginDialog
 Basic dialog for authentication with username and password TODO: Merge with Labels LoginDialog. More...
 
class  ServerConnectionBase
 Abstract base class providing a server interface. More...
 
class  StaticAuthorizationProvider
 A most basic AuthorizationProvider that only tracks a static list of authorization headers. More...
 
class  TCPSocketClient
 TCP socket client implementation providing bidirectional communication. More...
 
class  TCPSocketServer
 TCP socket server implementation providing bidirectional communication. More...
 
class  TypedConnectionBase
 Templated base class providing an interface for client-server communication (e.g., WebSocket, TCP) or peer-to-peer communication (e.g., UDP). More...
 
class  UDPSocket
 UDP socket implementation for network communication. More...
 
class  WebsocketClient
 WebSocket client implementation providing bidirectional communication. More...
 
class  WebsocketServer
 Websocket server implementation providing bidirectional communication. More...
 

Typedefs

using ConnectionProtocol = std::string
 Alias representing the connection protocol type, used to identify connections registered with the ConnectionFactory.
 

Enumerations

enum class  HttpStatus : unsigned int {
  Continue = 100 , SwitchingProtocols = 101 , Processing = 102 , EarlyHints = 103 ,
  Ok = 200 , Created = 201 , Accepted = 202 , NonAuthoritativeInformation = 203 ,
  NoContent = 204 , ResetContent = 205 , PartialContent = 206 , MultiStatus = 207 ,
  AlreadyReported = 208 , ImUsed = 226 , MultipleChoices = 300 , MovedPermanently = 301 ,
  Found = 302 , SeeOther = 303 , NotModified = 304 , UseProxy = 305 ,
  TemporaryRedirect = 307 , PermanentRedirect = 308 , BadRequest = 400 , Unauthorized = 401 ,
  PaymentRequired = 402 , Forbidden = 403 , NotFound = 404 , MethodNotAllowed = 405 ,
  NotAcceptable = 406 , ProxyAuthenticationRequired = 407 , RequestTimeout = 408 , Conflict = 409 ,
  Gone = 410 , LengthRequired = 411 , PreconditionFailed = 412 , PayloadTooLarge = 413 ,
  UriTooLong = 414 , UnsupportedMediaType = 415 , RangeNotSatisfiable = 416 , ExpectationFailed = 417 ,
  ImATeapot = 418 , MisdirectedRequest = 421 , UnprocessableEntity = 422 , Locked = 423 ,
  FailedDependency = 424 , TooEarly = 425 , UpgradeRequired = 426 , PreconditionRequired = 428 ,
  TooManyRequests = 429 , RequestHeaderFieldsTooLarge = 431 , UnavailableForLegalReasons = 451 , InternalServerError = 500 ,
  NotImplemented = 501 , BadGateway = 502 , ServiceUnavailable = 503 , GatewayTimeout = 504 ,
  HttpVersionNotSupported = 505 , VariantAlsoNegotiates = 506 , InsufficientStorage = 507 , LoopDetected = 508 ,
  NotExtended = 510 , NetworkAuthenticationRequired = 511 , Unknown = 0
}
 

Enumeration Type Documentation

◆ HttpStatus

enum class HttpStatus : unsigned int
strong
Enumerator
Continue 

Request received, continue process.

SwitchingProtocols 

Switching to new protocol.

Processing 

Request is being processed (WebDAV)

EarlyHints 

Hints before final response.

Ok 

Request succeeded.

Created 

Resource created successfully.

Accepted 

Request accepted, processing continues.

NonAuthoritativeInformation 

Information from another source.

NoContent 

No content to send.

ResetContent 

Reset document view.

PartialContent 

Partial content delivered.

MultiStatus 

Multiple status for batch requests (WebDAV)

AlreadyReported 

Already reported (WebDAV)

ImUsed 

Instance has been used (HTTP Delta encoding)

MultipleChoices 

Multiple possible responses.

MovedPermanently 

Resource moved permanently.

Found 

Resource found but at a different location.

SeeOther 

See another URI for response.

NotModified 

Resource not modified.

UseProxy 

Must use a proxy.

TemporaryRedirect 

Temporary redirect to another URI.

PermanentRedirect 

Permanent redirect to another URI.

BadRequest 

Bad request syntax.

Unauthorized 

Authentication required.

PaymentRequired 

Payment required (reserved)

Forbidden 

Access forbidden.

NotFound 

Resource not found.

MethodNotAllowed 

HTTP method not allowed.

NotAcceptable 

Cannot produce acceptable response.

ProxyAuthenticationRequired 

Proxy authentication required.

RequestTimeout 

Client did not send request in time.

Conflict 

Conflict with server state.

Gone 

Resource no longer available.

LengthRequired 

Content-Length header required.

PreconditionFailed 

Precondition in headers failed.

PayloadTooLarge 

Request entity too large.

UriTooLong 

URI too long.

UnsupportedMediaType 

Media type not supported.

RangeNotSatisfiable 

Requested range not valid.

ExpectationFailed 

Expectation in Expect header failed.

ImATeapot 

I'm a teapot (RFC 2324 joke)

MisdirectedRequest 

Request was misdirected.

UnprocessableEntity 

Semantic errors in request (WebDAV)

Locked 

Resource is locked (WebDAV)

FailedDependency 

Failed dependency (WebDAV)

TooEarly 

Risk of replay attack.

UpgradeRequired 

Client must upgrade protocol.

PreconditionRequired 

Precondition headers required.

TooManyRequests 

Too many requests sent.

RequestHeaderFieldsTooLarge 

Headers too large.

UnavailableForLegalReasons 

Blocked for legal reasons.

InternalServerError 

Generic server error.

NotImplemented 

Not implemented on server.

BadGateway 

Invalid response from upstream server.

ServiceUnavailable 

Server is overloaded or under maintenance.

GatewayTimeout 

Upstream server timeout.

HttpVersionNotSupported 

HTTP version not supported.

VariantAlsoNegotiates 

Server misconfiguration.

InsufficientStorage 

Insufficient storage (WebDAV)

LoopDetected 

Infinite loop detected (WebDAV)

NotExtended 

Further extensions required.

NetworkAuthenticationRequired 

Network authentication required.

Search Tab / S to search, Esc to close