protocol handler: added flags field
The protocol handler struct got a 'flags' field for special information and characteristics of the given protocol. This now enables us to move away central protocol information such as CLOSEACTION and DUALCHANNEL from single defines in a central place, out to each protocol's definition. It also made us stop abusing the protocol field for other info than the protocol, and we could start cleaning up other protocol-specific things by adding flags bits to set in the handler struct. The "protocol" field connectdata struct was removed as well and the code now refers directly to the conn->handler->protocol field instead. To make things work properly, the code now always store a conn->given pointer that points out the original handler struct so that the code can learn details from the original protocol even if conn->handler is modified along the way - for example when switching to go over a HTTP proxy.
This commit is contained in:
@@ -127,7 +127,8 @@ const struct Curl_handler Curl_handler_file = {
|
||||
ZERO_NULL, /* perform_getsock */
|
||||
ZERO_NULL, /* disconnect */
|
||||
0, /* defport */
|
||||
PROT_FILE /* protocol */
|
||||
PROT_FILE, /* protocol */
|
||||
PROTOPT_BANPROXY /* flags */
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user