Dynatrace OneAgent SDK for C/C++
1.7.1.1
|
Describes communication (networking, I/O) channels and endpoints. More...
Channel Type Constants | |
| |
#define | ONESDK_CHANNEL_TYPE_OTHER 0 |
Some other channel type or unknown channel type. More... | |
#define | ONESDK_CHANNEL_TYPE_TCP_IP 1 |
The channel is a TCP/IP connection. More... | |
#define | ONESDK_CHANNEL_TYPE_UNIX_DOMAIN_SOCKET 2 |
The channel is a connection via Unix domain sockets. More... | |
#define | ONESDK_CHANNEL_TYPE_NAMED_PIPE 3 |
The channel is a named pipe. More... | |
#define | ONESDK_CHANNEL_TYPE_IN_PROCESS 4 |
The channel is some in-process means of communication. More... | |
Describes communication (networking, I/O) channels and endpoints.
When we talk about channel types and channel endpoints in the SDK, we're talking about a "communication channel" which is used to access/communicate with some service or resource. Mapped to the OSI model or Internet protocol suite, our kind of channels would be located in the transport layer. So, unsurprisingly, there is a channel type ONESDK_CHANNEL_TYPE_TCP_IP. Communication doesn't always happen over the network though, so for e.g. in-process communication there's also ONESDK_CHANNEL_TYPE_IN_PROCESS.
So if, for example, your application is sending SOAP requests via HTTP via TCP/IP, then the channel we're talking about would be the TCP/IP connection.
The channel endpoint then is the endpoint of that connection. E.g. for a TCP/IP connection that endpoint is usually expressed by an IP:PORT
or HOSTNAME:PORT
pair, so that's what your application should use if the channel type is ONESDK_CHANNEL_TYPE_TCP_IP.
Unless specified otherwise, the channel type is a mandatory parameter and the channel endpoint is optional. If there is no suitable constant for the type of communication channel your application uses, it should use ONESDK_CHANNEL_TYPE_OTHER.
For further information, see the high level SDK documentation at https://github.com/Dynatrace/OneAgent-SDK/#endpoints
#define ONESDK_CHANNEL_TYPE_IN_PROCESS 4 |
The channel is some in-process means of communication.
Any string can be used as channel endpoint for this type. An application should use this channel type e.g. for database requests serviced by an in-process database like SQLite.
#define ONESDK_CHANNEL_TYPE_NAMED_PIPE 3 |
The channel is a named pipe.
The channel endpoint string should be the pipe name.
#define ONESDK_CHANNEL_TYPE_OTHER 0 |
Some other channel type or unknown channel type.
Any string can be used as channel endpoint for this type.
#define ONESDK_CHANNEL_TYPE_TCP_IP 1 |
The channel is a TCP/IP connection.
The channel endpoint string should be the host name, followed by a colon, followed by the port number (in decimal). E.g. localhost:1234
or example.com:80
.
#define ONESDK_CHANNEL_TYPE_UNIX_DOMAIN_SOCKET 2 |
The channel is a connection via Unix domain sockets.
The channel endpoint string should be the path of the Unix domain sockets.