Commit Graph

10 Commits

Author SHA1 Message Date
15369680a8 Fix warnings 2024-02-15 15:59:07 +01:00
46a49efb72 Fix syntax errors 2024-02-15 15:59:07 +01:00
f0c431cf1f queue: Make sure we don't enqueue null items 2024-02-15 15:59:07 +01:00
061aba1e1d Fix memory leaks
* libwget/ssl_quic_gnutls.c (wget_ssl_close_quic): new function:
   deinit gnutls_session_t object.
 * libwget/quic.c (quic_stream_mark_acked): free node after dequeue.
   (wget_quic_deinit): deinit gnutls_session_t object.
 * libwget/queue.c (wget_queue_free): remove unused function.
   (wget_queue_free_node): new function: remove a node and its inner
   contents.
   (wget_queue_dequeue_transmitted_node, wget_queue_dequeue_data_node):
   return outer node object, instead of inner data. This makes it easier
   to free the full node & its contents after inspection.
   (wget_queue_enqueue): fix: unnecessary allocation.
 * libwget/http3.c (wget_http3_send_request): fix: free vector after
   use.
   (wget_http3_get_response): free full node after use.
   (wget_http3_get_response_cb): new function.
 * libwget/bytes.c (wget_byte_new): free bytes struct on error.
 * include/wget/wget.h (wget_queue_free): remove unused function.
   (wget_queue_free_node): new function.
   (wget_queue_dequeue_transmitted_node): change return value.
   (wget_queue_dequeue_data_node): change return value.

In addition, create new function wget_queue_free_node.

Introduce a new function that will free the node and its contents all at once.
2024-02-15 15:59:07 +01:00
d36b687f05 * Changes internal implementation of byte to indicalte type of byte getting stored [skip ci]
* Also changes internal implementation of queue for testing a issue
* ISSUE : Example quic_read_write receives a packet twice
2024-02-15 15:59:06 +01:00
a85f00a8b2 * basic implementation of http3 stack over quic stack completed [skip ci]
* implementated very basic callback functions for http3
* implemented wget_http3_send_request to create a http3 requests
* reimplemented the internal working of wget_queue_peak_untransmitted
* example code for sending http3 request implemented
2024-02-15 15:59:06 +01:00
28b2859c8b * Changes made to fix resending of already sent data in wget_quic_write [skip ci]
* Added a bool in wget_byte struct named transmitted
* Implemented function wget_queue_peak_untransmitted_data
* This function will return first untransmitted byte
* Implemented wget_http3_deinit
2024-02-15 15:59:06 +01:00
b0ba455c47 * Changes made for building the library for testing QUIC. Not Working [skip ci] 2024-02-15 15:59:06 +01:00
db884e88f6 * wget_quic_write implemented [skip ci] 2024-02-15 15:59:06 +01:00
2bc012b7f6 *Basic implementation of integration with ngtcp2 [skip ci]
*net.c : wget_quic_connet function implemented
*ssl_gnutls.c : wget_ssl_quic_open and wget_ssl_quic_open functions implemented
*queue.c: Implementation of queue using linked list
2024-02-15 15:59:05 +01:00