Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
Description
This ticket was split from SPDY ticket(TS-2431), and it based on extended FetchSM ticket(TS-1062);
For some plugins that using TSHttpConnect() API to do request, the Logging module can't know which protocol type is used, so I add a new API and relatived tyeps:
/** TSClientProtoStack represents what protocols are used by the client. It may be composed by several TSProtoType. The value of TSProtoType indicates bit-offset that can be mapped to TSClientProtoStack by bit shifting. For example, TLS+SPDY can be mapped to protocol stack: proto_stack = (1u << TS_PROTO_TLS) | (1u << TS_PROTO_SPDY) For the sake of brevity, TS_PROTO_TCP is usually omitted in protocol stack. */ typedef enum { /* Transport protocols (0~11) */ TS_PROTO_UDP = 0, TS_PROTO_TCP = 1, TS_PROTO_TLS = 2, /* TLS/SSL */ /* Application protocols (12~31) */ TS_PROTO_HTTP = 12, TS_PROTO_SPDY = 13, TS_PROTO_RTMP = 14, TS_PROTO_WBSK = 15, /* WebSocket */ } TSProtoType; typedef uint32_t TSClientProtoStack; tsapi TSVConn TSHttpConnectWithProtoStack(struct sockaddr const* addr, TSClientProtoStack proto_stack);
After introducing TSHttpConnectWithProtoStack() API, TSHttpConnect() API would be a special case of it:
TSVConn TSHttpConnect(sockaddr const* addr) { return TSHttpConnectWithProtoStack(addr, (1u << TS_PROTO_HTTP)); }