• Niels Möller's avatar
    * src/channel.h (ssh_channel): Added active_requests queue · 23080cd0
    Niels Möller authored
    (Bazsi).
    (global_request_callback): Deleted class (Bazsi).
    (global_request): Added type, continuation and exception_hnalder
    arguments do the GLOBAL_REQUEST method (Bazsi).
    (channel_request): Likewise.
    
    * src/channel.c (make_request_status): Renamed from
    make_global_request_status (Bazsi).
    (global_request_continuation): New class (Bazsi).
    (send_global_request_responses): New function (Bazsi).
    (do_global_request_response): Use send_global_request_responses().
    (global_request_exception_handler): New class (Bazsi).
    (make_global_request_exception_handler): New function (Bazsi).
    (do_global_request): Pass a continuation and an exception handler
    to the GLOBAL_REQUEST-method.
    (send_channel_request_responses): New function (Bazsi).
    (channel_request_continuation): New class (Bazsi).
    (channel_request_continuation): New class (Bazsi).
    (do_channel_request): Pass a continuation and an exception to the
    CHANNEL_REQUEST-method.
    (init_channel): Initialize active_requests.
    
    * src/channel.c (use_channel): New function to take a channel in
    use.
    (register_channel): New argument take_into_use.
    (lookup_channel_reserved): New function that returns channels that
    are marked as reserved, but not in use.
    (do_channel_open_continue): Call register_channel with
    take_in_use=1.
    (do_channel_open_confirm): Use lookup_channel_reserved(). Call
    use_channel().
    (do_channel_open_failure): Use lookup_channel_reserved().
    (format_channel_open): Renamed from prepare_channel_open. Don't
    call alloc_channel() or register_channel().
    
    * src/channel.h (CHANNEL_FREE, CHANNEL_RESERVED, CHANNEL_IN_USE):
    New three-level classification for the in_use table.
    
    * src/channel.c (exc_finish_channel_handler): Use pointer to
    connection rather than to its channel table.
    
    Rev: src/channel.c:1.72
    Rev: src/channel.h:1.52
    23080cd0