mirror of
https://github.com/emqx/neuron.git
synced 2026-10-28 22:59:34 +08:00
Merge pull request #1626 from fengzeroz/main
event and connection delay
This commit is contained in:
@@ -1206,8 +1206,8 @@ int neu_adapter_driver_add_tag(neu_adapter_driver_t *driver, const char *group,
|
||||
|
||||
HASH_FIND_STR(driver->groups, group, find);
|
||||
if (find == NULL) {
|
||||
neu_adapter_driver_add_group(driver, group, 300);
|
||||
adapter_storage_add_group(driver->adapter.name, group, 300);
|
||||
neu_adapter_driver_add_group(driver, group, 100);
|
||||
adapter_storage_add_group(driver->adapter.name, group, 100);
|
||||
}
|
||||
HASH_FIND_STR(driver->groups, group, find);
|
||||
assert(find != NULL);
|
||||
|
||||
@@ -357,7 +357,7 @@ ssize_t neu_conn_send(neu_conn_t *conn, uint8_t *buf, ssize_t len)
|
||||
} else {
|
||||
struct timespec t1 = {
|
||||
.tv_sec = 0,
|
||||
.tv_nsec = 1000 * 1000 * 10,
|
||||
.tv_nsec = 1000 * 1000 * 20,
|
||||
};
|
||||
struct timespec t2 = { 0 };
|
||||
nanosleep(&t1, &t2);
|
||||
|
||||
@@ -73,14 +73,14 @@ struct neu_events {
|
||||
|
||||
pthread_mutex_t mtx;
|
||||
int n_event;
|
||||
struct event_data event_datas[256];
|
||||
struct event_data event_datas[512];
|
||||
};
|
||||
|
||||
static int get_free_event(neu_events_t *events)
|
||||
{
|
||||
int ret = -1;
|
||||
pthread_mutex_lock(&events->mtx);
|
||||
for (int i = 0; i < 256; i++) {
|
||||
for (int i = 0; i < 512; i++) {
|
||||
if (events->event_datas[i].use == false) {
|
||||
events->event_datas[i].use = true;
|
||||
events->event_datas[i].index = i;
|
||||
@@ -213,6 +213,9 @@ neu_event_timer_t *neu_event_add_timer(neu_events_t * events,
|
||||
.it_interval.tv_nsec = timer.millisecond * 1000 * 1000,
|
||||
};
|
||||
int index = get_free_event(events);
|
||||
if (index < 0) {
|
||||
zlog_fatal(neuron, "no free event: %d", events->epoll_fd);
|
||||
}
|
||||
assert(index >= 0);
|
||||
|
||||
neu_event_timer_t *timer_ctx = &events->event_datas[index].ctx.timer;
|
||||
|
||||
Reference in New Issue
Block a user