| VLC
    3.0.18
    | 

| Data Structures | |
| struct | vlc_h2_queue | 
| struct | vlc_h2_output | 
| Macros | |
| #define | VLC_H2_MAX_QUEUE (1u << 24) | 
| Functions | |
| static int | vlc_h2_output_queue (struct vlc_h2_output *out, struct vlc_h2_queue *q, struct vlc_h2_frame *f) | 
| Queues one outgoing HTTP/2.  More... | |
| int | vlc_h2_output_send_prio (struct vlc_h2_output *out, struct vlc_h2_frame *f) | 
| int | vlc_h2_output_send (struct vlc_h2_output *out, struct vlc_h2_frame *f) | 
| static struct vlc_h2_frame * | vlc_h2_output_dequeue (struct vlc_h2_output *out) | 
| Dequeues one outgoing HTTP/2.  More... | |
| static void | vlc_h2_output_flush_unlocked (struct vlc_h2_output *out) | 
| static ssize_t | vlc_https_send (vlc_tls_t *tls, const void *buf, size_t len) | 
| Sends bytes to a connection.  More... | |
| static int | vlc_h2_frame_send (struct vlc_tls *tls, struct vlc_h2_frame *f) | 
| Sends one HTTP/2 frame through TLS.  More... | |
| static void * | vlc_h2_output_thread (void *data) | 
| Output thread.  More... | |
| static void * | vlc_h2_client_output_thread (void *data) | 
| struct vlc_h2_output * | vlc_h2_output_create (struct vlc_tls *tls, bool client) | 
| void | vlc_h2_output_destroy (struct vlc_h2_output *out) | 
| #define VLC_H2_MAX_QUEUE (1u << 24) | 
| 
 | static | 
References vlc_h2_output::failed, vlc_h2_output::lock, vlc_h2_output::tls, vlc_h2_output_thread(), vlc_https_send(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by vlc_h2_output_create().
| 
 | static | 
Sends one HTTP/2 frame through TLS.
This function sends a whole HTTP/2 frame through a TLS session, then releases the memory used by the frame.
The caller must "own" the write side of the TLS session.
References vlc_h2_frame::data, vlc_cleanup_pop, vlc_cleanup_push, vlc_h2_frame_size(), and vlc_https_send().
Referenced by vlc_h2_output_thread().
| 
 | static | 
Dequeues one outgoing HTTP/2.
References vlc_h2_output::closing, vlc_h2_queue::first, vlc_h2_queue::last, vlc_h2_output::lock, vlc_h2_frame::next, vlc_h2_output::prio, vlc_h2_output::queue, vlc_h2_output::size, unlikely, vlc_cond_wait(), vlc_h2_frame_size(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_restorecancel(), vlc_savecancel(), and vlc_h2_output::wait.
Referenced by vlc_h2_output_thread().
| 
 | static | 
References vlc_h2_queue::first, vlc_h2_output::prio, and vlc_h2_output::queue.
Referenced by vlc_h2_output_destroy(), and vlc_h2_output_thread().
| 
 | static | 
Queues one outgoing HTTP/2.
References vlc_h2_output::failed, vlc_h2_queue::last, vlc_h2_output::lock, vlc_h2_frame::next, vlc_h2_output::size, unlikely, vlc_cond_signal(), vlc_h2_frame_size(), VLC_H2_MAX_QUEUE, vlc_mutex_lock(), vlc_mutex_unlock(), and vlc_h2_output::wait.
Referenced by vlc_h2_output_send(), and vlc_h2_output_send_prio().
| 
 | static | 
Output thread.
References vlc_h2_output::failed, vlc_h2_queue::first, vlc_h2_queue::last, vlc_h2_output::lock, vlc_h2_output::prio, vlc_h2_output::queue, vlc_h2_output::tls, vlc_h2_frame_send(), vlc_h2_output_dequeue(), vlc_h2_output_flush_unlocked(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by vlc_h2_client_output_thread(), and vlc_h2_output_create().
| 
 | static | 
Sends bytes to a connection.
References count, pollfd::events, pollfd::fd, poll(), POLLOUT, vlc_restorecancel(), vlc_savecancel(), vlc_tls_GetFD(), and vlc_tls::writev.
Referenced by vlc_h2_client_output_thread(), and vlc_h2_frame_send().
 1.8.16
 1.8.16