|
@@ -3,6 +3,7 @@
|
|
|
#if WITH_RUDP
|
|
#if WITH_RUDP
|
|
|
|
|
|
|
|
#include "hevent.h"
|
|
#include "hevent.h"
|
|
|
|
|
+#include "hsocket.h"
|
|
|
|
|
|
|
|
void rudp_entry_free(rudp_entry_t* entry) {
|
|
void rudp_entry_free(rudp_entry_t* entry) {
|
|
|
#if WITH_KCP
|
|
#if WITH_KCP
|
|
@@ -38,7 +39,7 @@ bool rudp_insert(rudp_t* rudp, rudp_entry_t* entry) {
|
|
|
while (*n) {
|
|
while (*n) {
|
|
|
parent = *n;
|
|
parent = *n;
|
|
|
e = rb_entry(*n, rudp_entry_t, rb_node);
|
|
e = rb_entry(*n, rudp_entry_t, rb_node);
|
|
|
- cmp = memcmp(&entry->addr, &e->addr, sizeof(sockaddr_u));
|
|
|
|
|
|
|
+ cmp = sockaddr_compare(&entry->addr, &e->addr);
|
|
|
if (cmp < 0) {
|
|
if (cmp < 0) {
|
|
|
n = &(*n)->rb_left;
|
|
n = &(*n)->rb_left;
|
|
|
} else if (cmp > 0) {
|
|
} else if (cmp > 0) {
|
|
@@ -63,7 +64,7 @@ rudp_entry_t* rudp_search(rudp_t* rudp, struct sockaddr* addr) {
|
|
|
bool exists = false;
|
|
bool exists = false;
|
|
|
while (n) {
|
|
while (n) {
|
|
|
e = rb_entry(n, rudp_entry_t, rb_node);
|
|
e = rb_entry(n, rudp_entry_t, rb_node);
|
|
|
- cmp = memcmp(addr, &e->addr, sizeof(sockaddr_u));
|
|
|
|
|
|
|
+ cmp = sockaddr_compare((sockaddr_u*)addr, &e->addr);
|
|
|
if (cmp < 0) {
|
|
if (cmp < 0) {
|
|
|
n = n->rb_left;
|
|
n = n->rb_left;
|
|
|
} else if (cmp > 0) {
|
|
} else if (cmp > 0) {
|
|
@@ -99,7 +100,7 @@ rudp_entry_t* rudp_get(rudp_t* rudp, struct sockaddr* addr) {
|
|
|
while (*n) {
|
|
while (*n) {
|
|
|
parent = *n;
|
|
parent = *n;
|
|
|
e = rb_entry(*n, rudp_entry_t, rb_node);
|
|
e = rb_entry(*n, rudp_entry_t, rb_node);
|
|
|
- cmp = memcmp(addr, &e->addr, sizeof(sockaddr_u));
|
|
|
|
|
|
|
+ cmp = sockaddr_compare((sockaddr_u*)addr, &e->addr);
|
|
|
if (cmp < 0) {
|
|
if (cmp < 0) {
|
|
|
n = &(*n)->rb_left;
|
|
n = &(*n)->rb_left;
|
|
|
} else if (cmp > 0) {
|
|
} else if (cmp > 0) {
|