diff options
author | Matt Caswell <matt@openssl.org> | 2024-08-06 11:05:06 +0200 |
---|---|---|
committer | Tomas Mraz <tomas@openssl.org> | 2024-08-07 19:48:26 +0200 |
commit | c0c4e6ba0af309371cb7eb2a9f910829a8c01a70 (patch) | |
tree | cd7ad30bd89f46ea7be1fc4ea1fff9512097e1d6 /include | |
parent | dh_kmgmt.c: Avoid expensive public key validation for known safe-prime groups (diff) | |
download | openssl-c0c4e6ba0af309371cb7eb2a9f910829a8c01a70.tar.xz openssl-c0c4e6ba0af309371cb7eb2a9f910829a8c01a70.zip |
Remove the event queue code
PR #18345 added some code for an event queue. It also added a test for it.
Unfortunately this event queue code has never been used for anything.
Additionally the test was never integrated into a test recipe, so it never
actually gets invoked via "make test". This makes the code entirely dead,
unnecessarily bloats the size of libssl and causes a decrease in our
testing code coverage value.
We remove the dead code.
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25100)
Diffstat (limited to 'include')
-rw-r--r-- | include/internal/event_queue.h | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/include/internal/event_queue.h b/include/internal/event_queue.h deleted file mode 100644 index 3b1ba50741..0000000000 --- a/include/internal/event_queue.h +++ /dev/null @@ -1,163 +0,0 @@ -/* - * Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved. - * - * Licensed under the Apache License 2.0 (the "License"). You may not use - * this file except in compliance with the License. You can obtain a copy - * in the file LICENSE in the source distribution or at - * https://www.openssl.org/source/license.html - */ - -#ifndef OSSL_INTERNAL_EVENT_QUEUE_H -# define OSSL_INTERNAL_EVENT_QUEUE_H -# pragma once - -# include "internal/priority_queue.h" -# include "internal/time.h" - -/* - * Opaque type holding an event. - */ -typedef struct ossl_event_st OSSL_EVENT; - -DEFINE_PRIORITY_QUEUE_OF(OSSL_EVENT); - -/* - * Public type representing an event queue, the underlying structure being - * opaque. - */ -typedef struct ossl_event_queue_st OSSL_EVENT_QUEUE; - -/* - * Public type representing a event queue entry. - * It is (internally) public so that it can be embedded into other structures, - * it should otherwise be treated as opaque. - */ -struct ossl_event_st { - uint32_t type; /* What type of event this is */ - uint32_t priority; /* What priority this event has */ - OSSL_TIME when; /* When the event is scheduled to happen */ - void *ctx; /* User argument passed to call backs */ - void *payload; /* Event specific data of unknown kind */ - size_t payload_size; /* Length (in bytes) of event specific data */ - - /* These fields are for internal use only */ - PRIORITY_QUEUE_OF(OSSL_EVENT) *queue; /* Queue containing this event */ - size_t ref; /* ID for this event */ - unsigned int flag_dynamic : 1; /* Malloced or not? */ -}; - -/* - * Utility function to populate an event structure and add it to the queue - */ -int ossl_event_queue_add(OSSL_EVENT_QUEUE *queue, OSSL_EVENT *event, - uint32_t type, uint32_t priority, - OSSL_TIME when, void *ctx, - void *payload, size_t payload_size); - -/* - * Utility functions to extract event fields - */ -static ossl_unused ossl_inline -uint32_t ossl_event_get_type(const OSSL_EVENT *event) -{ - return event->type; -} - -static ossl_unused ossl_inline -uint32_t ossl_event_get_priority(const OSSL_EVENT *event) -{ - return event->priority; -} - -static ossl_unused ossl_inline -OSSL_TIME ossl_event_get_when(const OSSL_EVENT *event) -{ - return event->when; -} - -static ossl_unused ossl_inline -void *ossl_event_get0_ctx(const OSSL_EVENT *event) -{ - return event->ctx; -} - -static ossl_unused ossl_inline -void *ossl_event_get0_payload(const OSSL_EVENT *event, size_t *length) -{ - if (length != NULL) - *length = event->payload_size; - return event->payload; -} - -/* - * Create and free a queue. - */ -OSSL_EVENT_QUEUE *ossl_event_queue_new(void); -void ossl_event_queue_free(OSSL_EVENT_QUEUE *queue); - -/* - * Schedule a new event into an event queue. - * - * The event parameters are taken from the function arguments. - * - * The function returns NULL on failure and the added event on success. - */ -OSSL_EVENT *ossl_event_queue_add_new(OSSL_EVENT_QUEUE *queue, - uint32_t type, uint32_t priority, - OSSL_TIME when, void *ctx, - void *payload, size_t payload_size) -; - -/* - * Schedule an event into an event queue. - * - * The event parameters are taken from the function arguments. - * - * The function returns 0 on failure and 1 on success. - */ -int ossl_event_queue_add(OSSL_EVENT_QUEUE *queue, OSSL_EVENT *event, - uint32_t type, uint32_t priority, - OSSL_TIME when, void *ctx, - void *payload, size_t payload_size); - -/* - * Delete an event from the queue. - * This will cause the early deletion function to be called if it is non-NULL. - * A pointer to the event structure is returned. - */ -int ossl_event_queue_remove(OSSL_EVENT_QUEUE *queue, OSSL_EVENT *event); - -/* - * Free a dynamic event. - * Is a NOP for a static event. - */ -void ossl_event_free(OSSL_EVENT *event); - -/* - * Return the time until the next event for the specified event, if the event's - * time is past, zero is returned. Once activated, the event reference becomes - * invalid and this function becomes undefined. - */ -OSSL_TIME ossl_event_time_until(const OSSL_EVENT *event); - -/* - * Return the time until the next event in the queue. - * If the next event is in the past, zero is returned. - */ -OSSL_TIME ossl_event_queue_time_until_next(const OSSL_EVENT_QUEUE *queue); - -/* - * Postpone an event to trigger at the specified time. - * If the event has triggered, this function's behaviour is undefined. - */ -int ossl_event_queue_postpone_until(OSSL_EVENT_QUEUE *queue, - OSSL_EVENT *event, - OSSL_TIME when); - -/* - * Return the next event to process. - */ -int ossl_event_queue_get1_next_event(OSSL_EVENT_QUEUE *queue, - OSSL_EVENT **event); - -#endif |