Skip to content
Snippets Groups Projects
  • Daniel Stenberg's avatar
    8831000b
    protocol handler: added flags field · 8831000b
    Daniel Stenberg authored
    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.
    8831000b
    History
    protocol handler: added flags field
    Daniel Stenberg authored
    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.