diff --git a/src/epoll-socket.c b/src/epoll-socket.c index c3c89a9..09e6918 100644 --- a/src/epoll-socket.c +++ b/src/epoll-socket.c @@ -57,8 +57,8 @@ ep_sock_t* ep_sock_new(ep_port_t* port_info) { unused(port_info); memset(sock_private, 0, sizeof *sock_private); - handle_tree_entry_init(&sock_private->pub.tree_entry); - queue_elem_init(&sock_private->pub.queue_entry); + handle_tree_node_init(&sock_private->pub.tree_node); + queue_node_init(&sock_private->pub.queue_node); return &sock_private->pub; } @@ -78,7 +78,7 @@ int ep_sock_delete(ep_port_t* port_info, ep_sock_t* sock_info) { assert(!_ep_sock_is_deleted(sock_private)); - ep_port_del_socket(port_info, &sock_info->tree_entry); + ep_port_del_socket(port_info, &sock_info->tree_node); ep_port_clear_socket_update(port_info, sock_info); sock_private->flags |= _EP_SOCK_DELETED; @@ -156,7 +156,7 @@ int ep_sock_set_socket(ep_port_t* port_info, &sock_private->driver_socket) < 0) return -1; - if (ep_port_add_socket(port_info, &sock_info->tree_entry, socket) < 0) + if (ep_port_add_socket(port_info, &sock_info->tree_node, socket) < 0) return -1; return 0; @@ -303,7 +303,7 @@ int ep_sock_feed_event(ep_port_t* port_info, return ev_count; } -ep_sock_t* ep_sock_from_tree_entry(handle_tree_entry_t* tree_entry) { - assert(tree_entry != NULL); - return container_of(tree_entry, ep_sock_t, tree_entry); +ep_sock_t* ep_sock_from_tree_node(handle_tree_node_t* tree_node) { + assert(tree_node != NULL); + return container_of(tree_node, ep_sock_t, tree_node); } diff --git a/src/epoll-socket.h b/src/epoll-socket.h index ed4cf1f..c14483d 100644 --- a/src/epoll-socket.h +++ b/src/epoll-socket.h @@ -15,8 +15,8 @@ typedef struct ep_port ep_port_t; typedef struct poll_req poll_req_t; typedef struct ep_sock { - handle_tree_entry_t tree_entry; - queue_elem_t queue_entry; + handle_tree_node_t tree_node; + queue_node_t queue_node; } ep_sock_t; EPOLL_INTERNAL ep_sock_t* ep_sock_new(ep_port_t* port_info); @@ -39,7 +39,7 @@ EPOLL_INTERNAL void ep_sock_register_poll_req(ep_port_t* port_info, EPOLL_INTERNAL void ep_sock_unregister_poll_req(ep_port_t* port_info, ep_sock_t* sock_info); -EPOLL_INTERNAL ep_sock_t* ep_sock_from_tree_entry( - handle_tree_entry_t* tree_entry); +EPOLL_INTERNAL ep_sock_t* ep_sock_from_tree_node( + handle_tree_node_t* tree_node); #endif /* EPOLL_SOCK_DATA_H_ */ diff --git a/src/epoll.c b/src/epoll.c index 2a88b70..07e793c 100644 --- a/src/epoll.c +++ b/src/epoll.c @@ -49,14 +49,14 @@ static int _ep_ctl_add(ep_port_t* port_info, static int _ep_ctl_mod(ep_port_t* port_info, uintptr_t socket, struct epoll_event* ev) { - handle_tree_entry_t* tree_entry; + handle_tree_node_t* tree_node; ep_sock_t* sock_info; - tree_entry = handle_tree_find(&port_info->sock_tree, socket); - if (tree_entry == NULL) + tree_node = handle_tree_find(&port_info->sock_tree, socket); + if (tree_node == NULL) return -1; - sock_info = ep_sock_from_tree_entry(tree_entry); + sock_info = ep_sock_from_tree_node(tree_node); if (ep_sock_set_event(port_info, sock_info, ev) < 0) return -1; @@ -65,14 +65,14 @@ static int _ep_ctl_mod(ep_port_t* port_info, } static int _ep_ctl_del(ep_port_t* port_info, uintptr_t socket) { - handle_tree_entry_t* tree_entry; + handle_tree_node_t* tree_node; ep_sock_t* sock_info; - tree_entry = handle_tree_find(&port_info->sock_tree, socket); - if (tree_entry == NULL) + tree_node = handle_tree_find(&port_info->sock_tree, socket); + if (tree_node == NULL) return -1; - sock_info = ep_sock_from_tree_entry(tree_entry); + sock_info = ep_sock_from_tree_node(tree_node); if (ep_sock_delete(port_info, sock_info) < 0) return -1; @@ -104,8 +104,8 @@ static int _ep_port_update_events(ep_port_t* port_info) { /* Walk the queue, submitting new poll requests for every socket that needs * it. */ while (!queue_empty(update_queue)) { - queue_elem_t* queue_entry = queue_first(update_queue); - ep_sock_t* sock_info = container_of(queue_entry, ep_sock_t, queue_entry); + queue_node_t* queue_node = queue_first(update_queue); + ep_sock_t* sock_info = container_of(queue_node, ep_sock_t, queue_node); if (ep_sock_update(port_info, sock_info) < 0) return -1; @@ -239,7 +239,7 @@ epoll_t epoll_create(void) { int epoll_close(epoll_t port_handle) { ep_port_t* port_info; - handle_tree_entry_t* tree_entry; + handle_tree_node_t* tree_node; port_info = (ep_port_t*) port_handle; @@ -281,8 +281,8 @@ int epoll_close(epoll_t port_handle) { } /* Remove all entries from the socket_state tree. */ - while ((tree_entry = handle_tree_root(&port_info->sock_tree)) != NULL) { - ep_sock_t* sock_info = ep_sock_from_tree_entry(tree_entry); + while ((tree_node = handle_tree_root(&port_info->sock_tree)) != NULL) { + ep_sock_t* sock_info = ep_sock_from_tree_node(tree_node); ep_sock_delete(port_info, sock_info); } @@ -311,13 +311,13 @@ static int _ep_initialize(void) { } int ep_port_add_socket(ep_port_t* port_info, - handle_tree_entry_t* tree_entry, + handle_tree_node_t* tree_node, SOCKET socket) { - return handle_tree_add(&port_info->sock_tree, tree_entry, socket); + return handle_tree_add(&port_info->sock_tree, tree_node, socket); } -int ep_port_del_socket(ep_port_t* port_info, handle_tree_entry_t* tree_entry) { - return handle_tree_del(&port_info->sock_tree, tree_entry); +int ep_port_del_socket(ep_port_t* port_info, handle_tree_node_t* tree_node) { + return handle_tree_del(&port_info->sock_tree, tree_node); } void ep_port_add_req(ep_port_t* port_info) { @@ -401,19 +401,19 @@ error:; bool ep_port_is_socket_update_pending(ep_port_t* port_info, ep_sock_t* sock_info) { unused(port_info); - return queue_enqueued(&sock_info->queue_entry); + return queue_enqueued(&sock_info->queue_node); } void ep_port_request_socket_update(ep_port_t* port_info, ep_sock_t* sock_info) { if (ep_port_is_socket_update_pending(port_info, sock_info)) return; - queue_append(&port_info->update_queue, &sock_info->queue_entry); + queue_append(&port_info->update_queue, &sock_info->queue_node); assert(ep_port_is_socket_update_pending(port_info, sock_info)); } void ep_port_clear_socket_update(ep_port_t* port_info, ep_sock_t* sock_info) { if (!ep_port_is_socket_update_pending(port_info, sock_info)) return; - queue_remove(&sock_info->queue_entry); + queue_remove(&sock_info->queue_node); } diff --git a/src/handle-tree.c b/src/handle-tree.c index c5e2524..96ddac6 100644 --- a/src/handle-tree.c +++ b/src/handle-tree.c @@ -4,8 +4,8 @@ #include "handle-tree.h" #include "tree.h" -static inline int _handle_tree_compare(handle_tree_entry_t* a, - handle_tree_entry_t* b) { +static inline int _handle_tree_compare(handle_tree_node_t* a, + handle_tree_node_t* b) { if (a->key < b->key) return -1; else if (a->key > b->key) @@ -14,61 +14,58 @@ static inline int _handle_tree_compare(handle_tree_entry_t* a, return 0; } -RB_GENERATE_STATIC(handle_tree, - handle_tree_entry, - entry, - _handle_tree_compare); +RB_GENERATE_STATIC(handle_tree, handle_tree_node, node, _handle_tree_compare); void handle_tree_init(handle_tree_t* tree) { RB_INIT(tree); } -void handle_tree_entry_init(handle_tree_entry_t* entry) { - memset(entry, 0, sizeof *entry); +void handle_tree_node_init(handle_tree_node_t* node) { + memset(node, 0, sizeof *node); } int handle_tree_add(handle_tree_t* tree, - handle_tree_entry_t* entry, + handle_tree_node_t* node, uintptr_t key) { - handle_tree_entry_t* existing_entry; + handle_tree_node_t* existing_node; if (key == 0) return_error(-1, ERROR_INVALID_PARAMETER); - if (entry->key != 0) + if (node->key != 0) return_error(-1, ERROR_ALREADY_EXISTS); - entry->key = key; - existing_entry = RB_INSERT(handle_tree, tree, entry); + node->key = key; + existing_node = RB_INSERT(handle_tree, tree, node); - if (existing_entry != NULL) { - entry->key = 0; + if (existing_node != NULL) { + node->key = 0; return_error(-1, ERROR_ALREADY_EXISTS); } return 0; } -int handle_tree_del(handle_tree_t* tree, handle_tree_entry_t* entry) { - handle_tree_entry_t* removed_entry; +int handle_tree_del(handle_tree_t* tree, handle_tree_node_t* node) { + handle_tree_node_t* removed_node; - if (entry->key == 0) + if (node->key == 0) return_error(-1, ERROR_NOT_FOUND); - removed_entry = RB_REMOVE(handle_tree, tree, entry); + removed_node = RB_REMOVE(handle_tree, tree, node); - if (removed_entry == NULL) + if (removed_node == NULL) return_error(-1, ERROR_NOT_FOUND); else - assert(removed_entry == entry); + assert(removed_node == node); - entry->key = 0; + node->key = 0; return 0; } -handle_tree_entry_t* handle_tree_find(handle_tree_t* tree, uintptr_t key) { - handle_tree_entry_t* entry; - handle_tree_entry_t lookup; +handle_tree_node_t* handle_tree_find(handle_tree_t* tree, uintptr_t key) { + handle_tree_node_t* node; + handle_tree_node_t lookup; if (key == 0) return_error(NULL, ERROR_INVALID_PARAMETER); @@ -76,13 +73,13 @@ handle_tree_entry_t* handle_tree_find(handle_tree_t* tree, uintptr_t key) { memset(&lookup, 0, sizeof lookup); lookup.key = key; - entry = RB_FIND(handle_tree, tree, &lookup); - if (entry == NULL) + node = RB_FIND(handle_tree, tree, &lookup); + if (node == NULL) return_error(NULL, ERROR_NOT_FOUND); - return entry; + return node; } -handle_tree_entry_t* handle_tree_root(handle_tree_t* tree) { +handle_tree_node_t* handle_tree_root(handle_tree_t* tree) { return RB_ROOT(tree); } diff --git a/src/handle-tree.h b/src/handle-tree.h index 28af3d3..c58ac60 100644 --- a/src/handle-tree.h +++ b/src/handle-tree.h @@ -4,24 +4,24 @@ #include "internal.h" #include "tree.h" -typedef RB_HEAD(handle_tree, handle_tree_entry) handle_tree_t; +typedef RB_HEAD(handle_tree, handle_tree_node) handle_tree_t; -typedef struct handle_tree_entry { - RB_ENTRY(handle_tree_entry) entry; +typedef struct handle_tree_node { + RB_ENTRY(handle_tree_node) node; uintptr_t key; -} handle_tree_entry_t; +} handle_tree_node_t; EPOLL_INTERNAL void handle_tree_init(handle_tree_t* tree); -EPOLL_INTERNAL void handle_tree_entry_init(handle_tree_entry_t* entry); +EPOLL_INTERNAL void handle_tree_node_init(handle_tree_node_t* node); EPOLL_INTERNAL int handle_tree_add(handle_tree_t* tree, - handle_tree_entry_t* entry, + handle_tree_node_t* node, uintptr_t key); EPOLL_INTERNAL int handle_tree_del(handle_tree_t* tree, - handle_tree_entry_t* entry); + handle_tree_node_t* node); -EPOLL_INTERNAL handle_tree_entry_t* handle_tree_find(handle_tree_t* tree, - uintptr_t key); -EPOLL_INTERNAL handle_tree_entry_t* handle_tree_root(handle_tree_t* tree); +EPOLL_INTERNAL handle_tree_node_t* handle_tree_find(handle_tree_t* tree, + uintptr_t key); +EPOLL_INTERNAL handle_tree_node_t* handle_tree_root(handle_tree_t* tree); #endif /* EPOLL_HANDLE_TREE_H_ */ diff --git a/src/port.h b/src/port.h index fa2462b..a3e2791 100644 --- a/src/port.h +++ b/src/port.h @@ -25,10 +25,10 @@ EPOLL_INTERNAL SOCKET ep_port_get_driver_socket(ep_port_t* port_info, SOCKET socket); EPOLL_INTERNAL int ep_port_add_socket(ep_port_t* port_info, - handle_tree_entry_t* tree_entry, + handle_tree_node_t* tree_node, SOCKET socket); EPOLL_INTERNAL int ep_port_del_socket(ep_port_t* port_info, - handle_tree_entry_t* tree_entry); + handle_tree_node_t* tree_node); EPOLL_INTERNAL void ep_port_add_req(ep_port_t* port_info); EPOLL_INTERNAL void ep_port_del_req(ep_port_t* port_info); diff --git a/src/queue.h b/src/queue.h index a8d3f5b..491d178 100644 --- a/src/queue.h +++ b/src/queue.h @@ -6,59 +6,59 @@ #include "internal.h" -typedef struct queue_elem queue_elem_t; -typedef struct queue_elem { - queue_elem_t* prev; - queue_elem_t* next; -} queue_elem_t; +typedef struct queue_node queue_node_t; +typedef struct queue_node { + queue_node_t* prev; + queue_node_t* next; +} queue_node_t; typedef struct queue { - queue_elem_t head; + queue_node_t head; } queue_t; -EPOLL_INTERNAL inline void queue_elem_init(queue_elem_t* elem) { - elem->prev = elem; - elem->next = elem; +EPOLL_INTERNAL inline void queue_node_init(queue_node_t* node) { + node->prev = node; + node->next = node; } EPOLL_INTERNAL inline void queue_init(queue_t* queue) { - queue_elem_init(&queue->head); + queue_node_init(&queue->head); } -EPOLL_INTERNAL inline bool queue_enqueued(const queue_elem_t* elem) { - return elem->prev != elem; +EPOLL_INTERNAL inline bool queue_enqueued(const queue_node_t* node) { + return node->prev != node; } EPOLL_INTERNAL inline bool queue_empty(const queue_t* queue) { return !queue_enqueued(&queue->head); } -EPOLL_INTERNAL inline queue_elem_t* queue_first(const queue_t* queue) { +EPOLL_INTERNAL inline queue_node_t* queue_first(const queue_t* queue) { return !queue_empty(queue) ? queue->head.next : NULL; } -EPOLL_INTERNAL inline queue_elem_t* queue_last(const queue_t* queue) { +EPOLL_INTERNAL inline queue_node_t* queue_last(const queue_t* queue) { return !queue_empty(queue) ? queue->head.prev : NULL; } -EPOLL_INTERNAL inline void queue_prepend(queue_t* queue, queue_elem_t* elem) { - elem->next = queue->head.next; - elem->prev = &queue->head; - elem->next->prev = elem; - queue->head.next = elem; +EPOLL_INTERNAL inline void queue_prepend(queue_t* queue, queue_node_t* node) { + node->next = queue->head.next; + node->prev = &queue->head; + node->next->prev = node; + queue->head.next = node; } -EPOLL_INTERNAL inline void queue_append(queue_t* queue, queue_elem_t* elem) { - elem->next = &queue->head; - elem->prev = queue->head.prev; - elem->prev->next = elem; - queue->head.prev = elem; +EPOLL_INTERNAL inline void queue_append(queue_t* queue, queue_node_t* node) { + node->next = &queue->head; + node->prev = queue->head.prev; + node->prev->next = node; + queue->head.prev = node; } -EPOLL_INTERNAL inline void queue_remove(queue_elem_t* elem) { - elem->prev->next = elem->next; - elem->next->prev = elem->prev; - elem->prev = elem; - elem->next = elem; +EPOLL_INTERNAL inline void queue_remove(queue_node_t* node) { + node->prev->next = node->next; + node->next->prev = node->prev; + node->prev = node; + node->next = node; } #endif /* QUEUE_H_ */ diff --git a/src/tree.h b/src/tree.h index a73c3e5..c1ba278 100644 --- a/src/tree.h +++ b/src/tree.h @@ -63,9 +63,9 @@ struct name { \ #define RB_RED 1 #define RB_ENTRY(type) \ struct { \ - struct type *rbe_left; /* left element */ \ - struct type *rbe_right; /* right element */ \ - struct type *rbe_parent; /* parent element */ \ + struct type *rbe_left; /* left nodeent */ \ + struct type *rbe_right; /* right nodeent */ \ + struct type *rbe_parent; /* parent nodeent */ \ int rbe_color; /* node color */ \ }