VLink  2.0.0
A high-performance communication middleware
vlink::Protocol Struct Referencefinal

Plain-data record describing the parsed components of a VLink URL. More...

#include <url.h>

Collaboration diagram for vlink::Protocol:

Public Attributes

std::string str
 URL string after remap, if any. More...
 
TransportType transport
 Resolved transport backend identifier. More...
 
std::string host
 Hostname or IP component, if any. More...
 
std::string path
 Topic path component. More...
 
std::map< std::string, std::string > dictionary
 Query parameters parsed into a key/value dictionary. More...
 
std::string fragment
 Fragment identifier (after #). More...
 

Friends

struct Url
 

Detailed Description

Plain-data record describing the parsed components of a VLink URL.

Built by Protocol(const std::string& address), which feeds the URL through UrlParser, applies any VLINK_URL_REMAP rewriting and resolves the TransportType from the URI scheme. Only Url may construct a Protocol (the constructor is private and Url is the sole friend).

Note
The str field is the URL string after remap, not a reconstruction from the other fields.

Friends And Related Function Documentation

◆ Url

friend struct Url
friend

Member Data Documentation

◆ dictionary

std::map<std::string, std::string> vlink::Protocol::dictionary

Query parameters parsed into a key/value dictionary.

◆ fragment

std::string vlink::Protocol::fragment

Fragment identifier (after #).

◆ host

std::string vlink::Protocol::host

Hostname or IP component, if any.

◆ path

std::string vlink::Protocol::path

Topic path component.

◆ str

std::string vlink::Protocol::str

URL string after remap, if any.

◆ transport

TransportType vlink::Protocol::transport

Resolved transport backend identifier.


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