Skip to content
项目
群组
代码片段
帮助
正在加载...
登录
切换导航
F
freeswitch
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分枝图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
分枝图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
张华
freeswitch
Commits
88ee82a3
提交
88ee82a3
authored
12月 07, 2016
作者:
Shane Bryldt
提交者:
Mike Jerris
1月 25, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
FS-9775: Removed building of old dht code, renamed new dht code from dht2 to dht
上级
253b808f
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
316 行增加
和
318 行删除
+316
-318
Makefile.am
libs/libks/Makefile.am
+2
-2
ks_dht-int.h
libs/libks/src/dht/ks_dht-int.h
+34
-34
ks_dht.c
libs/libks/src/dht/ks_dht.c
+136
-136
ks_dht.h
libs/libks/src/dht/ks_dht.h
+54
-56
ks_dht_endpoint.c
libs/libks/src/dht/ks_dht_endpoint.c
+8
-8
ks_dht_message.c
libs/libks/src/dht/ks_dht_message.c
+22
-22
ks_dht_node.c
libs/libks/src/dht/ks_dht_node.c
+8
-8
ks_dht_transaction.c
libs/libks/src/dht/ks_dht_transaction.c
+11
-11
ks.h
libs/libks/src/include/ks.h
+1
-1
Makefile.am
libs/libks/test/Makefile.am
+16
-16
testdht2.c
libs/libks/test/testdht2.c
+24
-24
没有找到文件。
libs/libks/Makefile.am
浏览文件 @
88ee82a3
...
...
@@ -9,7 +9,7 @@ AM_CPPFLAGS = $(AM_CFLAGS)
lib_LTLIBRARIES
=
libks.la
libks_la_SOURCES
=
src/ks.c src/ks_string.c src/ks_json.c src/ks_thread.c src/ks_thread_pool.c src/ks_mutex.c src/ks_config.c
libks_la_SOURCES
+=
src/ks_log.c src/ks_socket.c src/ks_buffer.c src/ks_pool.c src/simclist.c
libks_la_SOURCES
+=
src/ks_time.c src/ks_printf.c src/ks_hash.c src/ks_q.c src/ks_dso.c src/ks_dht.c
libks_la_SOURCES
+=
src/ks_time.c src/ks_printf.c src/ks_hash.c src/ks_q.c src/ks_dso.c
#
src/ks_dht.c
libks_la_SOURCES
+=
src/ks_ssl.c src/kws.c src/ks_rng.c
libks_la_SOURCES
+=
src/utp/utp_api.cpp src/utp/utp_callbacks.cpp src/utp/utp_hash.cpp src/utp/utp_internal.cpp
libks_la_SOURCES
+=
src/utp/utp_packedsockaddr.cpp src/utp/utp_utils.cpp src/ks_bencode.c
...
...
@@ -26,7 +26,7 @@ library_includedir = $(prefix)/include
library_include_HEADERS
=
src/include/ks_config.h src/include/ks.h src/include/ks_threadmutex.h src/include/ks_json.h src/include/ks_buffer.h
library_include_HEADERS
+=
src/include/ks_thread_pool.h
library_include_HEADERS
+=
src/include/ks_pool.h src/include/simclist.h src/include/ks_time.h src/include/ks_q.h src/include/ks_socket.h
library_include_HEADERS
+=
src/include/ks_dso.h src/include/ks_
dht.h src/include/ks_platform.h src/include/ks_types.h
# src/include/ks_rng.h
library_include_HEADERS
+=
src/include/ks_dso.h src/include/ks_
platform.h src/include/ks_types.h
# src/include/ks_rng.h src/include/ks_dht.h
library_include_HEADERS
+=
src/include/ks_printf.h src/include/ks_hash.h src/include/ks_ssl.h src/include/kws.h
library_include_HEADERS
+=
src/utp/utp_internal.h src/utp/utp.h src/utp/utp_types.h src/utp/utp_callbacks.h src/utp/utp_templates.h
library_include_HEADERS
+=
src/utp/utp_hash.h src/utp/utp_packedsockaddr.h src/utp/utp_utils.h src/include/ks_utp.h
...
...
libs/libks/src/dht/ks_dht-int.h
浏览文件 @
88ee82a3
...
...
@@ -8,64 +8,64 @@ KS_BEGIN_EXTERN_C
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2
_utility_compact_address
(
ks_sockaddr_t
*
address
,
uint8_t
*
buffer
,
ks_size_t
*
buffer_length
,
ks_size_t
buffer_size
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_utility_compact_node
(
ks_dht2
_nodeid_t
*
nodeid
,
ks_sockaddr_t
*
address
,
uint8_t
*
buffer
,
ks_size_t
*
buffer_length
,
ks_size_t
buffer_size
);
KS_DECLARE
(
ks_status_t
)
ks_dht_utility_compact_address
(
ks_sockaddr_t
*
address
,
uint8_t
*
buffer
,
ks_size_t
*
buffer_length
,
ks_size_t
buffer_size
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_utility_compact_node
(
ks_dht
_nodeid_t
*
nodeid
,
ks_sockaddr_t
*
address
,
uint8_t
*
buffer
,
ks_size_t
*
buffer_length
,
ks_size_t
buffer_size
);
/**
*
*/
KS_DECLARE
(
void
)
ks_dht
2_idle
(
ks_dht2
_t
*
dht
);
KS_DECLARE
(
void
)
ks_dht
2_idle_expirations
(
ks_dht2
_t
*
dht
);
KS_DECLARE
(
void
)
ks_dht
2_idle_send
(
ks_dht2
_t
*
dht
);
KS_DECLARE
(
void
)
ks_dht
_idle
(
ks_dht
_t
*
dht
);
KS_DECLARE
(
void
)
ks_dht
_idle_expirations
(
ks_dht
_t
*
dht
);
KS_DECLARE
(
void
)
ks_dht
_idle_send
(
ks_dht
_t
*
dht
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_send
(
ks_dht2_t
*
dht
,
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_send_error
(
ks_dht2
_t
*
dht
,
KS_DECLARE
(
ks_status_t
)
ks_dht
_send
(
ks_dht_t
*
dht
,
ks_dht
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_send_error
(
ks_dht
_t
*
dht
,
ks_sockaddr_t
*
raddr
,
uint8_t
*
transactionid
,
ks_size_t
transactionid_length
,
long
long
errorcode
,
const
char
*
errorstr
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_send_ping
(
ks_dht2
_t
*
dht
,
ks_sockaddr_t
*
raddr
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_send_findnode
(
ks_dht2_t
*
dht
,
ks_sockaddr_t
*
raddr
,
ks_dht2
_nodeid_t
*
targetid
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_send_ping
(
ks_dht
_t
*
dht
,
ks_sockaddr_t
*
raddr
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_send_findnode
(
ks_dht_t
*
dht
,
ks_sockaddr_t
*
raddr
,
ks_dht
_nodeid_t
*
targetid
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_process
(
ks_dht2
_t
*
dht
,
ks_sockaddr_t
*
raddr
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_process
(
ks_dht
_t
*
dht
,
ks_sockaddr_t
*
raddr
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_process_query
(
ks_dht2_t
*
dht
,
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_process_response
(
ks_dht2_t
*
dht
,
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_process_error
(
ks_dht2_t
*
dht
,
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_process_query
(
ks_dht_t
*
dht
,
ks_dht
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_process_response
(
ks_dht_t
*
dht
,
ks_dht
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_process_error
(
ks_dht_t
*
dht
,
ks_dht
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_process_query_ping
(
ks_dht2_t
*
dht
,
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_process_query_findnode
(
ks_dht2_t
*
dht
,
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_process_query_ping
(
ks_dht_t
*
dht
,
ks_dht
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_process_query_findnode
(
ks_dht_t
*
dht
,
ks_dht
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_process_response_ping
(
ks_dht2_t
*
dht
,
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_process_response_findnode
(
ks_dht2_t
*
dht
,
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_process_response_ping
(
ks_dht_t
*
dht
,
ks_dht
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_process_response_findnode
(
ks_dht_t
*
dht
,
ks_dht
_message_t
*
message
);
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_alloc
(
ks_dht2
_endpoint_t
**
endpoint
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_prealloc
(
ks_dht2
_endpoint_t
*
endpoint
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_free
(
ks_dht2
_endpoint_t
*
endpoint
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_alloc
(
ks_dht
_endpoint_t
**
endpoint
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_prealloc
(
ks_dht
_endpoint_t
*
endpoint
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_free
(
ks_dht
_endpoint_t
*
endpoint
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_init
(
ks_dht2
_endpoint_t
*
endpoint
,
const
ks_sockaddr_t
*
addr
,
ks_socket_t
sock
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_deinit
(
ks_dht2
_endpoint_t
*
endpoint
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_init
(
ks_dht
_endpoint_t
*
endpoint
,
const
ks_sockaddr_t
*
addr
,
ks_socket_t
sock
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_deinit
(
ks_dht
_endpoint_t
*
endpoint
);
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_alloc
(
ks_dht2
_node_t
**
node
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_prealloc
(
ks_dht2
_node_t
*
node
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_free
(
ks_dht2
_node_t
*
node
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_alloc
(
ks_dht
_node_t
**
node
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_prealloc
(
ks_dht
_node_t
*
node
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_free
(
ks_dht
_node_t
*
node
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_init
(
ks_dht2_node_t
*
node
,
const
ks_dht2
_nodeid_t
*
id
,
const
ks_sockaddr_t
*
addr
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_deinit
(
ks_dht2
_node_t
*
node
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_init
(
ks_dht_node_t
*
node
,
const
ks_dht
_nodeid_t
*
id
,
const
ks_sockaddr_t
*
addr
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_deinit
(
ks_dht
_node_t
*
node
);
KS_END_EXTERN_C
...
...
libs/libks/src/dht/ks_dht.c
浏览文件 @
88ee82a3
差异被折叠。
点击展开。
libs/libks/src/dht/ks_dht.h
浏览文件 @
88ee82a3
...
...
@@ -20,28 +20,26 @@ KS_BEGIN_EXTERN_C
#define KS_DHT_TRANSACTION_EXPIRATION_DELAY 30
typedef
struct
ks_dht2_s
ks_dht2_t
;
//typedef struct ks_dht2_nodeid_s ks_dht2_nodeid_t;
//typedef struct ks_dht2_nodeid_raw_s ks_dht2_nodeid_raw_t;
typedef
uint8_t
ks_dht2_nodeid_t
[
KS_DHT_NODEID_SIZE
];
typedef
struct
ks_dht2_node_s
ks_dht2_node_t
;
typedef
struct
ks_dht2_message_s
ks_dht2_message_t
;
typedef
struct
ks_dht2_endpoint_s
ks_dht2_endpoint_t
;
typedef
struct
ks_dht2_transaction_s
ks_dht2_transaction_t
;
typedef
struct
ks_dht_s
ks_dht_t
;
typedef
uint8_t
ks_dht_nodeid_t
[
KS_DHT_NODEID_SIZE
];
typedef
struct
ks_dht_node_s
ks_dht_node_t
;
typedef
struct
ks_dht_message_s
ks_dht_message_t
;
typedef
struct
ks_dht_endpoint_s
ks_dht_endpoint_t
;
typedef
struct
ks_dht_transaction_s
ks_dht_transaction_t
;
typedef
ks_status_t
(
*
ks_dht
2_message_callback_t
)(
ks_dht2_t
*
dht
,
ks_dht2
_message_t
*
message
);
typedef
ks_status_t
(
*
ks_dht
_message_callback_t
)(
ks_dht_t
*
dht
,
ks_dht
_message_t
*
message
);
struct
ks_dht
2
_node_s
{
struct
ks_dht_node_s
{
ks_pool_t
*
pool
;
ks_dht
2
_nodeid_t
id
;
ks_dht_nodeid_t
id
;
ks_sockaddr_t
*
addr4
;
ks_sockaddr_t
*
addr6
;
ks_size_t
addr4_length
;
ks_size_t
addr6_length
;
};
struct
ks_dht
2
_message_s
{
struct
ks_dht_message_s
{
ks_pool_t
*
pool
;
ks_sockaddr_t
raddr
;
struct
bencode
*
data
;
...
...
@@ -51,30 +49,30 @@ struct ks_dht2_message_s {
struct
bencode
*
args
;
};
struct
ks_dht
2
_endpoint_s
{
struct
ks_dht_endpoint_s
{
ks_pool_t
*
pool
;
ks_sockaddr_t
addr
;
ks_socket_t
sock
;
};
struct
ks_dht
2
_transaction_s
{
struct
ks_dht_transaction_s
{
ks_pool_t
*
pool
;
ks_sockaddr_t
raddr
;
uint32_t
transactionid
;
ks_dht
2
_message_callback_t
callback
;
ks_dht_message_callback_t
callback
;
ks_time_t
expiration
;
ks_bool_t
finished
;
};
struct
ks_dht
2
_s
{
struct
ks_dht_s
{
ks_pool_t
*
pool
;
ks_bool_t
pool_alloc
;
ks_bool_t
autoroute
;
ks_port_t
autoroute_port
;
ks_dht
2
_nodeid_t
nodeid
;
ks_dht_nodeid_t
nodeid
;
ks_hash_t
*
registry_type
;
ks_hash_t
*
registry_query
;
...
...
@@ -83,13 +81,13 @@ struct ks_dht2_s {
ks_bool_t
bind_ipv4
;
ks_bool_t
bind_ipv6
;
ks_dht
2
_endpoint_t
**
endpoints
;
ks_dht_endpoint_t
**
endpoints
;
int32_t
endpoints_size
;
ks_hash_t
*
endpoints_hash
;
struct
pollfd
*
endpoints_poll
;
ks_q_t
*
send_q
;
ks_dht
2
_message_t
*
send_q_unsent
;
ks_dht_message_t
*
send_q_unsent
;
uint8_t
recv_buffer
[
KS_DHT_RECV_BUFFER_SIZE
];
ks_size_t
recv_buffer_length
;
...
...
@@ -100,47 +98,47 @@ struct ks_dht2_s {
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_alloc
(
ks_dht2
_t
**
dht
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_prealloc
(
ks_dht2
_t
*
dht
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_free
(
ks_dht2
_t
*
dht
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_alloc
(
ks_dht
_t
**
dht
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_prealloc
(
ks_dht
_t
*
dht
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_free
(
ks_dht
_t
*
dht
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_init
(
ks_dht2_t
*
dht
,
const
ks_dht2
_nodeid_t
*
nodeid
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_deinit
(
ks_dht2
_t
*
dht
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_init
(
ks_dht_t
*
dht
,
const
ks_dht
_nodeid_t
*
nodeid
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_deinit
(
ks_dht
_t
*
dht
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_autoroute
(
ks_dht2
_t
*
dht
,
ks_bool_t
autoroute
,
ks_port_t
port
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_autoroute
(
ks_dht
_t
*
dht
,
ks_bool_t
autoroute
,
ks_port_t
port
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_bind
(
ks_dht2_t
*
dht
,
const
ks_sockaddr_t
*
addr
,
ks_dht2
_endpoint_t
**
endpoint
);
KS_DECLARE
(
void
)
ks_dht
2_pulse
(
ks_dht2
_t
*
dht
,
int32_t
timeout
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_bind
(
ks_dht_t
*
dht
,
const
ks_sockaddr_t
*
addr
,
ks_dht
_endpoint_t
**
endpoint
);
KS_DECLARE
(
void
)
ks_dht
_pulse
(
ks_dht
_t
*
dht
,
int32_t
timeout
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_register_type
(
ks_dht2_t
*
dht
,
const
char
*
value
,
ks_dht2
_message_callback_t
callback
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_register_query
(
ks_dht2_t
*
dht
,
const
char
*
value
,
ks_dht2
_message_callback_t
callback
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_register_type
(
ks_dht_t
*
dht
,
const
char
*
value
,
ks_dht
_message_callback_t
callback
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_register_query
(
ks_dht_t
*
dht
,
const
char
*
value
,
ks_dht
_message_callback_t
callback
);
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_alloc
(
ks_dht2
_message_t
**
message
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_prealloc
(
ks_dht2
_message_t
*
message
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_free
(
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_init
(
ks_dht2
_message_t
*
message
,
ks_sockaddr_t
*
raddr
,
ks_bool_t
alloc_data
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_deinit
(
ks_dht2
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_parse
(
ks_dht2
_message_t
*
message
,
const
uint8_t
*
buffer
,
ks_size_t
buffer_length
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_query
(
ks_dht2
_message_t
*
message
,
uint32_t
transactionid
,
const
char
*
query
,
struct
bencode
**
args
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_response
(
ks_dht2
_message_t
*
message
,
uint8_t
*
transactionid
,
ks_size_t
transactionid_length
,
struct
bencode
**
args
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_error
(
ks_dht2
_message_t
*
message
,
uint8_t
*
transactionid
,
ks_size_t
transactionid_length
,
struct
bencode
**
args
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_alloc
(
ks_dht
_message_t
**
message
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_prealloc
(
ks_dht
_message_t
*
message
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_free
(
ks_dht
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_init
(
ks_dht
_message_t
*
message
,
ks_sockaddr_t
*
raddr
,
ks_bool_t
alloc_data
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_deinit
(
ks_dht
_message_t
*
message
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_parse
(
ks_dht
_message_t
*
message
,
const
uint8_t
*
buffer
,
ks_size_t
buffer_length
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_query
(
ks_dht
_message_t
*
message
,
uint32_t
transactionid
,
const
char
*
query
,
struct
bencode
**
args
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_response
(
ks_dht
_message_t
*
message
,
uint8_t
*
transactionid
,
ks_size_t
transactionid_length
,
struct
bencode
**
args
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_error
(
ks_dht
_message_t
*
message
,
uint8_t
*
transactionid
,
ks_size_t
transactionid_length
,
struct
bencode
**
args
);
/**
*
...
...
@@ -149,15 +147,15 @@ KS_DECLARE(ks_status_t) ks_dht2_message_error(ks_dht2_message_t *message,
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_alloc
(
ks_dht2
_transaction_t
**
transaction
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_prealloc
(
ks_dht2
_transaction_t
*
trasnaction
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_free
(
ks_dht2
_transaction_t
*
transaction
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_alloc
(
ks_dht
_transaction_t
**
transaction
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_prealloc
(
ks_dht
_transaction_t
*
trasnaction
,
ks_pool_t
*
pool
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_free
(
ks_dht
_transaction_t
*
transaction
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_init
(
ks_dht2
_transaction_t
*
transaction
,
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_init
(
ks_dht
_transaction_t
*
transaction
,
ks_sockaddr_t
*
raddr
,
uint32_t
transactionid
,
ks_dht
2
_message_callback_t
callback
);
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_deinit
(
ks_dht2
_transaction_t
*
transaction
);
ks_dht_message_callback_t
callback
);
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_deinit
(
ks_dht
_transaction_t
*
transaction
);
KS_END_EXTERN_C
...
...
libs/libks/src/dht/ks_dht_endpoint.c
浏览文件 @
88ee82a3
...
...
@@ -4,14 +4,14 @@
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_alloc
(
ks_dht2
_endpoint_t
**
endpoint
,
ks_pool_t
*
pool
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_alloc
(
ks_dht
_endpoint_t
**
endpoint
,
ks_pool_t
*
pool
)
{
ks_dht
2
_endpoint_t
*
ep
;
ks_dht_endpoint_t
*
ep
;
ks_assert
(
endpoint
);
ks_assert
(
pool
);
*
endpoint
=
ep
=
ks_pool_alloc
(
pool
,
sizeof
(
ks_dht
2
_endpoint_t
));
*
endpoint
=
ep
=
ks_pool_alloc
(
pool
,
sizeof
(
ks_dht_endpoint_t
));
ep
->
pool
=
pool
;
ep
->
sock
=
KS_SOCK_INVALID
;
...
...
@@ -21,7 +21,7 @@ KS_DECLARE(ks_status_t) ks_dht2_endpoint_alloc(ks_dht2_endpoint_t **endpoint, ks
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_prealloc
(
ks_dht2
_endpoint_t
*
endpoint
,
ks_pool_t
*
pool
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_prealloc
(
ks_dht
_endpoint_t
*
endpoint
,
ks_pool_t
*
pool
)
{
ks_assert
(
endpoint
);
ks_assert
(
pool
);
...
...
@@ -35,11 +35,11 @@ KS_DECLARE(ks_status_t) ks_dht2_endpoint_prealloc(ks_dht2_endpoint_t *endpoint,
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_free
(
ks_dht2
_endpoint_t
*
endpoint
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_free
(
ks_dht
_endpoint_t
*
endpoint
)
{
ks_assert
(
endpoint
);
ks_dht
2
_endpoint_deinit
(
endpoint
);
ks_dht_endpoint_deinit
(
endpoint
);
ks_pool_free
(
endpoint
->
pool
,
endpoint
);
return
KS_STATUS_SUCCESS
;
...
...
@@ -49,7 +49,7 @@ KS_DECLARE(ks_status_t) ks_dht2_endpoint_free(ks_dht2_endpoint_t *endpoint)
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_init
(
ks_dht2
_endpoint_t
*
endpoint
,
const
ks_sockaddr_t
*
addr
,
ks_socket_t
sock
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_init
(
ks_dht
_endpoint_t
*
endpoint
,
const
ks_sockaddr_t
*
addr
,
ks_socket_t
sock
)
{
ks_assert
(
endpoint
);
ks_assert
(
endpoint
->
pool
);
...
...
@@ -65,7 +65,7 @@ KS_DECLARE(ks_status_t) ks_dht2_endpoint_init(ks_dht2_endpoint_t *endpoint, cons
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_endpoint_deinit
(
ks_dht2
_endpoint_t
*
endpoint
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_endpoint_deinit
(
ks_dht
_endpoint_t
*
endpoint
)
{
ks_assert
(
endpoint
);
...
...
libs/libks/src/dht/ks_dht_message.c
浏览文件 @
88ee82a3
...
...
@@ -4,14 +4,14 @@
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_alloc
(
ks_dht2
_message_t
**
message
,
ks_pool_t
*
pool
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_alloc
(
ks_dht
_message_t
**
message
,
ks_pool_t
*
pool
)
{
ks_dht
2
_message_t
*
msg
;
ks_dht_message_t
*
msg
;
ks_assert
(
message
);
ks_assert
(
pool
);
*
message
=
msg
=
ks_pool_alloc
(
pool
,
sizeof
(
ks_dht
2
_message_t
));
*
message
=
msg
=
ks_pool_alloc
(
pool
,
sizeof
(
ks_dht_message_t
));
msg
->
pool
=
pool
;
return
KS_STATUS_SUCCESS
;
...
...
@@ -20,7 +20,7 @@ KS_DECLARE(ks_status_t) ks_dht2_message_alloc(ks_dht2_message_t **message, ks_po
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_prealloc
(
ks_dht2
_message_t
*
message
,
ks_pool_t
*
pool
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_prealloc
(
ks_dht
_message_t
*
message
,
ks_pool_t
*
pool
)
{
ks_assert
(
message
);
ks_assert
(
pool
);
...
...
@@ -33,11 +33,11 @@ KS_DECLARE(ks_status_t) ks_dht2_message_prealloc(ks_dht2_message_t *message, ks_
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_free
(
ks_dht2
_message_t
*
message
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_free
(
ks_dht
_message_t
*
message
)
{
ks_assert
(
message
);
ks_dht
2
_message_deinit
(
message
);
ks_dht_message_deinit
(
message
);
ks_pool_free
(
message
->
pool
,
message
);
return
KS_STATUS_SUCCESS
;
...
...
@@ -47,7 +47,7 @@ KS_DECLARE(ks_status_t) ks_dht2_message_free(ks_dht2_message_t *message)
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_init
(
ks_dht2
_message_t
*
message
,
ks_sockaddr_t
*
raddr
,
ks_bool_t
alloc_data
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_init
(
ks_dht
_message_t
*
message
,
ks_sockaddr_t
*
raddr
,
ks_bool_t
alloc_data
)
{
ks_assert
(
message
);
ks_assert
(
message
->
pool
);
...
...
@@ -67,7 +67,7 @@ KS_DECLARE(ks_status_t) ks_dht2_message_init(ks_dht2_message_t *message, ks_sock
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_deinit
(
ks_dht2
_message_t
*
message
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_deinit
(
ks_dht
_message_t
*
message
)
{
ks_assert
(
message
);
...
...
@@ -86,7 +86,7 @@ KS_DECLARE(ks_status_t) ks_dht2_message_deinit(ks_dht2_message_t *message)
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_parse
(
ks_dht2
_message_t
*
message
,
const
uint8_t
*
buffer
,
ks_size_t
buffer_length
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_parse
(
ks_dht
_message_t
*
message
,
const
uint8_t
*
buffer
,
ks_size_t
buffer_length
)
{
struct
bencode
*
t
;
struct
bencode
*
y
;
...
...
@@ -147,17 +147,17 @@ KS_DECLARE(ks_status_t) ks_dht2_message_parse(ks_dht2_message_t *message, const
return
KS_STATUS_SUCCESS
;
failure
:
ks_dht
2
_message_deinit
(
message
);
ks_dht_message_deinit
(
message
);
return
KS_STATUS_FAIL
;
}
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_query
(
ks_dht2
_message_t
*
message
,
uint32_t
transactionid
,
const
char
*
query
,
struct
bencode
**
args
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_query
(
ks_dht
_message_t
*
message
,
uint32_t
transactionid
,
const
char
*
query
,
struct
bencode
**
args
)
{
struct
bencode
*
a
;
uint32_t
tid
;
...
...
@@ -185,10 +185,10 @@ KS_DECLARE(ks_status_t) ks_dht2_message_query(ks_dht2_message_t *message,
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_response
(
ks_dht2
_message_t
*
message
,
uint8_t
*
transactionid
,
ks_size_t
transactionid_length
,
struct
bencode
**
args
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_response
(
ks_dht
_message_t
*
message
,
uint8_t
*
transactionid
,
ks_size_t
transactionid_length
,
struct
bencode
**
args
)
{
struct
bencode
*
r
;
...
...
@@ -212,10 +212,10 @@ KS_DECLARE(ks_status_t) ks_dht2_message_response(ks_dht2_message_t *message,
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_message_error
(
ks_dht2
_message_t
*
message
,
uint8_t
*
transactionid
,
ks_size_t
transactionid_length
,
struct
bencode
**
args
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_message_error
(
ks_dht
_message_t
*
message
,
uint8_t
*
transactionid
,
ks_size_t
transactionid_length
,
struct
bencode
**
args
)
{
struct
bencode
*
e
;
...
...
libs/libks/src/dht/ks_dht_node.c
浏览文件 @
88ee82a3
...
...
@@ -5,14 +5,14 @@
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_alloc
(
ks_dht2
_node_t
**
node
,
ks_pool_t
*
pool
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_alloc
(
ks_dht
_node_t
**
node
,
ks_pool_t
*
pool
)
{
ks_dht
2
_node_t
*
n
;
ks_dht_node_t
*
n
;
ks_assert
(
node
);
ks_assert
(
pool
);
*
node
=
n
=
ks_pool_alloc
(
pool
,
sizeof
(
ks_dht
2
_node_t
));
*
node
=
n
=
ks_pool_alloc
(
pool
,
sizeof
(
ks_dht_node_t
));
n
->
pool
=
pool
;
return
KS_STATUS_SUCCESS
;
...
...
@@ -21,7 +21,7 @@ KS_DECLARE(ks_status_t) ks_dht2_node_alloc(ks_dht2_node_t **node, ks_pool_t *poo
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_prealloc
(
ks_dht2
_node_t
*
node
,
ks_pool_t
*
pool
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_prealloc
(
ks_dht
_node_t
*
node
,
ks_pool_t
*
pool
)
{
ks_assert
(
node
);
ks_assert
(
pool
);
...
...
@@ -34,11 +34,11 @@ KS_DECLARE(ks_status_t) ks_dht2_node_prealloc(ks_dht2_node_t *node, ks_pool_t *p
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_free
(
ks_dht2
_node_t
*
node
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_free
(
ks_dht
_node_t
*
node
)
{
ks_assert
(
node
);
ks_dht
2
_node_deinit
(
node
);
ks_dht_node_deinit
(
node
);
ks_pool_free
(
node
->
pool
,
node
);
return
KS_STATUS_SUCCESS
;
...
...
@@ -48,7 +48,7 @@ KS_DECLARE(ks_status_t) ks_dht2_node_free(ks_dht2_node_t *node)
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_init
(
ks_dht2_node_t
*
node
,
const
ks_dht2
_nodeid_t
*
id
,
const
ks_sockaddr_t
*
addr
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_init
(
ks_dht_node_t
*
node
,
const
ks_dht
_nodeid_t
*
id
,
const
ks_sockaddr_t
*
addr
)
{
ks_assert
(
node
);
ks_assert
(
node
->
pool
);
...
...
@@ -61,7 +61,7 @@ KS_DECLARE(ks_status_t) ks_dht2_node_init(ks_dht2_node_t *node, const ks_dht2_no
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_node_deinit
(
ks_dht2
_node_t
*
node
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_node_deinit
(
ks_dht
_node_t
*
node
)
{
ks_assert
(
node
);
...
...
libs/libks/src/dht/ks_dht_transaction.c
浏览文件 @
88ee82a3
...
...
@@ -4,14 +4,14 @@
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_alloc
(
ks_dht2
_transaction_t
**
transaction
,
ks_pool_t
*
pool
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_alloc
(
ks_dht
_transaction_t
**
transaction
,
ks_pool_t
*
pool
)
{
ks_dht
2
_transaction_t
*
tran
;
ks_dht_transaction_t
*
tran
;
ks_assert
(
transaction
);
ks_assert
(
pool
);
*
transaction
=
tran
=
ks_pool_alloc
(
pool
,
sizeof
(
ks_dht
2
_transaction_t
));
*
transaction
=
tran
=
ks_pool_alloc
(
pool
,
sizeof
(
ks_dht_transaction_t
));
tran
->
pool
=
pool
;
return
KS_STATUS_SUCCESS
;
...
...
@@ -20,7 +20,7 @@ KS_DECLARE(ks_status_t) ks_dht2_transaction_alloc(ks_dht2_transaction_t **transa
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_prealloc
(
ks_dht2
_transaction_t
*
transaction
,
ks_pool_t
*
pool
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_prealloc
(
ks_dht
_transaction_t
*
transaction
,
ks_pool_t
*
pool
)
{
ks_assert
(
transaction
);
ks_assert
(
pool
);
...
...
@@ -33,11 +33,11 @@ KS_DECLARE(ks_status_t) ks_dht2_transaction_prealloc(ks_dht2_transaction_t *tran
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_free
(
ks_dht2
_transaction_t
*
transaction
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_free
(
ks_dht
_transaction_t
*
transaction
)
{
ks_assert
(
transaction
);
ks_dht
2
_transaction_deinit
(
transaction
);
ks_dht_transaction_deinit
(
transaction
);
ks_pool_free
(
transaction
->
pool
,
transaction
);
return
KS_STATUS_SUCCESS
;
...
...
@@ -47,10 +47,10 @@ KS_DECLARE(ks_status_t) ks_dht2_transaction_free(ks_dht2_transaction_t *transact
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_init
(
ks_dht2
_transaction_t
*
transaction
,
ks_sockaddr_t
*
raddr
,
uint32_t
transactionid
,
ks_dht2
_message_callback_t
callback
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_init
(
ks_dht
_transaction_t
*
transaction
,
ks_sockaddr_t
*
raddr
,
uint32_t
transactionid
,
ks_dht
_message_callback_t
callback
)
{
ks_assert
(
transaction
);
ks_assert
(
raddr
);
...
...
@@ -69,7 +69,7 @@ KS_DECLARE(ks_status_t) ks_dht2_transaction_init(ks_dht2_transaction_t *transact
/**
*
*/
KS_DECLARE
(
ks_status_t
)
ks_dht
2_transaction_deinit
(
ks_dht2
_transaction_t
*
transaction
)
KS_DECLARE
(
ks_status_t
)
ks_dht
_transaction_deinit
(
ks_dht
_transaction_t
*
transaction
)
{
ks_assert
(
transaction
);
...
...
libs/libks/src/include/ks.h
浏览文件 @
88ee82a3
...
...
@@ -123,7 +123,7 @@ KS_DECLARE(void) ks_random_string(char *buf, uint16_t len, char *set);
#include "ks_time.h"
#include "ks_socket.h"
#include "ks_dso.h"
#include "ks_dht.h"
//
#include "ks_dht.h"
#include "ks_utp.h"
#include "simclist.h"
#include "ks_ssl.h"
...
...
libs/libks/test/Makefile.am
浏览文件 @
88ee82a3
...
...
@@ -49,30 +49,30 @@ testwebsock_SOURCES = testwebsock.c tap.c
testwebsock_CFLAGS
=
$(AM_CFLAGS)
testwebsock_LDADD
=
$(TEST_LDADD)
check_PROGRAMS
+=
testdht
testdht_SOURCES
=
testdht.c tap.c
testdht_CFLAGS
=
$(AM_CFLAGS)
testdht_LDADD
=
$(TEST_LDADD)
#
check_PROGRAMS += testdht
#
testdht_SOURCES = testdht.c tap.c
#
testdht_CFLAGS = $(AM_CFLAGS)
#
testdht_LDADD = $(TEST_LDADD)
check_PROGRAMS
+=
testdht2
testdht2_SOURCES
=
testdht2.c tap.c
testdht2_CFLAGS
=
$(AM_CFLAGS)
testdht2_LDADD
=
$(TEST_LDADD)
check_PROGRAMS
+=
testdht_net
testdht_net_SOURCES
=
testdht-net.c tap.c
testdht_net_CFLAGS
=
$(AM_CFLAGS)
testdht_net_LDADD
=
$(TEST_LDADD)
#
check_PROGRAMS += testdht_net
#
testdht_net_SOURCES = testdht-net.c tap.c
#
testdht_net_CFLAGS = $(AM_CFLAGS)
#
testdht_net_LDADD = $(TEST_LDADD)
check_PROGRAMS
+=
testdht_msg
testdht_msg_SOURCES
=
testdht-msg.c tap.c
testdht_msg_CFLAGS
=
$(AM_CFLAGS)
testdht_msg_LDADD
=
$(TEST_LDADD)
#
check_PROGRAMS += testdht_msg
#
testdht_msg_SOURCES = testdht-msg.c tap.c
#
testdht_msg_CFLAGS = $(AM_CFLAGS)
#
testdht_msg_LDADD = $(TEST_LDADD)
check_PROGRAMS
+=
dht_example
dht_example_SOURCES
=
dht-example.c
dht_example_CFLAGS
=
$(AM_CFLAGS)
dht_example_LDADD
=
$(abs_top_builddir)
/libks.la
$(openssl_LIBS)
-ledit
-lpthread
#
check_PROGRAMS += dht_example
#
dht_example_SOURCES = dht-example.c
#
dht_example_CFLAGS = $(AM_CFLAGS)
#
dht_example_LDADD = $(abs_top_builddir)/libks.la $(openssl_LIBS) -ledit -lpthread
#check_PROGRAMS += libtorrent_example
#libtorrent_example_SOURCES = libtorrent-example.c
...
...
libs/libks/test/testdht2.c
浏览文件 @
88ee82a3
...
...
@@ -6,11 +6,11 @@
#define TEST_DHT1_REGISTER_TYPE_BUFFER "d1:ad2:id20:12345678901234567890e1:q4:ping1:t2:421:y1:ze"
#define TEST_DHT1_PROCESS_QUERY_PING_BUFFER "d1:ad2:id20:12345678901234567890e1:q4:ping1:t2:421:y1:qe"
ks_status_t
dht_z_callback
(
ks_dht
2_t
*
dht
,
ks_dht2
_message_t
*
message
)
ks_status_t
dht_z_callback
(
ks_dht
_t
*
dht
,
ks_dht
_message_t
*
message
)
{
diag
(
"dht_z_callback
\n
"
);
ok
(
message
->
transactionid
[
0
]
==
'4'
&&
message
->
transactionid
[
1
]
==
'2'
);
ks_dht
2
_send_error
(
dht
,
&
message
->
raddr
,
message
->
transactionid
,
message
->
transactionid_length
,
201
,
"Generic test error"
);
ks_dht_send_error
(
dht
,
&
message
->
raddr
,
message
->
transactionid
,
message
->
transactionid_length
,
201
,
"Generic test error"
);
return
KS_STATUS_SUCCESS
;
}
...
...
@@ -18,8 +18,8 @@ int main() {
ks_size_t
buflen
;
ks_status_t
err
;
int
mask
=
0
;
ks_dht
2
_t
*
dht1
=
NULL
;
ks_dht
2
_t
dht2
;
ks_dht_t
*
dht1
=
NULL
;
ks_dht_t
dht2
;
ks_bool_t
have_v4
,
have_v6
;
char
v4
[
48
]
=
{
0
},
v6
[
48
]
=
{
0
};
ks_sockaddr_t
addr
;
...
...
@@ -47,31 +47,31 @@ int main() {
diag
(
"Binding to %s on ipv6
\n
"
,
v6
);
}
err
=
ks_dht
2
_alloc
(
&
dht1
,
NULL
);
err
=
ks_dht_alloc
(
&
dht1
,
NULL
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_dht
2
_init
(
dht1
,
NULL
);
err
=
ks_dht_init
(
dht1
,
NULL
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_dht
2
_prealloc
(
&
dht2
,
dht1
->
pool
);
err
=
ks_dht_prealloc
(
&
dht2
,
dht1
->
pool
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_dht
2
_init
(
&
dht2
,
NULL
);
err
=
ks_dht_init
(
&
dht2
,
NULL
);
ok
(
err
==
KS_STATUS_SUCCESS
);
ks_dht
2
_register_type
(
dht1
,
"z"
,
dht_z_callback
);
ks_dht_register_type
(
dht1
,
"z"
,
dht_z_callback
);
if
(
have_v4
)
{
err
=
ks_addr_set
(
&
addr
,
v4
,
KS_DHT_DEFAULT_PORT
,
AF_INET
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_dht
2
_bind
(
dht1
,
&
addr
,
NULL
);
err
=
ks_dht_bind
(
dht1
,
&
addr
,
NULL
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_addr_set
(
&
addr
,
v4
,
KS_DHT_DEFAULT_PORT
+
1
,
AF_INET
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_dht
2
_bind
(
&
dht2
,
&
addr
,
NULL
);
err
=
ks_dht_bind
(
&
dht2
,
&
addr
,
NULL
);
ok
(
err
==
KS_STATUS_SUCCESS
);
raddr
=
addr
;
...
...
@@ -81,13 +81,13 @@ int main() {
err
=
ks_addr_set
(
&
addr
,
v6
,
KS_DHT_DEFAULT_PORT
,
AF_INET6
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_dht
2
_bind
(
dht1
,
&
addr
,
NULL
);
err
=
ks_dht_bind
(
dht1
,
&
addr
,
NULL
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_addr_set
(
&
addr
,
v6
,
KS_DHT_DEFAULT_PORT
+
1
,
AF_INET6
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_dht
2
_bind
(
&
dht2
,
&
addr
,
NULL
);
err
=
ks_dht_bind
(
&
dht2
,
&
addr
,
NULL
);
ok
(
err
==
KS_STATUS_SUCCESS
);
}
...
...
@@ -97,43 +97,43 @@ int main() {
memcpy
(
dht1
->
recv_buffer
,
TEST_DHT1_REGISTER_TYPE_BUFFER
,
buflen
);
dht1
->
recv_buffer_length
=
buflen
;
err
=
ks_dht
2
_process
(
dht1
,
&
raddr
);
err
=
ks_dht_process
(
dht1
,
&
raddr
);
ok
(
err
==
KS_STATUS_SUCCESS
);
ks_dht
2
_pulse
(
dht1
,
100
);
ks_dht_pulse
(
dht1
,
100
);
ks_dht
2
_pulse
(
&
dht2
,
100
);
ks_dht_pulse
(
&
dht2
,
100
);
//buflen = strlen(TEST_DHT1_PROCESS_QUERY_PING_BUFFER);
//memcpy(dht1->recv_buffer, TEST_DHT1_PROCESS_QUERY_PING_BUFFER, buflen);
//dht1->recv_buffer_length = buflen;
//err = ks_dht
2
_process(dht1, &raddr);
//err = ks_dht_process(dht1, &raddr);
//ok(err == KS_STATUS_SUCCESS);
diag
(
"Ping tests
\n
"
);
ks_dht
2
_send_ping
(
dht1
,
&
raddr
);
ks_dht_send_ping
(
dht1
,
&
raddr
);
ks_dht
2
_pulse
(
dht1
,
100
);
ks_dht_pulse
(
dht1
,
100
);
ks_dht
2
_pulse
(
&
dht2
,
100
);
ks_dht_pulse
(
&
dht2
,
100
);
ks_dht
2
_pulse
(
dht1
,
100
);
ks_dht_pulse
(
dht1
,
100
);
diag
(
"Cleanup
\n
"
);
/* Cleanup and shutdown */
err
=
ks_dht
2
_deinit
(
&
dht2
);
err
=
ks_dht_deinit
(
&
dht2
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_dht
2
_deinit
(
dht1
);
err
=
ks_dht_deinit
(
dht1
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_dht
2
_free
(
dht1
);
err
=
ks_dht_free
(
dht1
);
ok
(
err
==
KS_STATUS_SUCCESS
);
err
=
ks_shutdown
();
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论