mirror of
https://github.com/emqx/neuron.git
synced 2026-10-19 23:02:33 +08:00
perf(adapter): use neu_event to monitor nng-fd event
This commit is contained in:
+474
-526
File diff suppressed because it is too large
Load Diff
@@ -24,6 +24,7 @@
|
||||
#include <nng/protocol/pair1/pair.h>
|
||||
#include <nng/supplemental/util/platform.h>
|
||||
|
||||
#include "event/event.h"
|
||||
#include "plugin.h"
|
||||
#include "plugin_info.h"
|
||||
|
||||
@@ -53,6 +54,8 @@ struct neu_adapter {
|
||||
neu_manager_t * manager;
|
||||
nng_pipe pipe;
|
||||
nng_socket sock;
|
||||
nng_dialer dialer;
|
||||
int recv_fd;
|
||||
nng_thread * thrd;
|
||||
uint32_t new_req_id;
|
||||
plugin_id_t plugin_id;
|
||||
@@ -64,6 +67,9 @@ struct neu_adapter {
|
||||
adapter_callbacks_t cb_funs;
|
||||
neu_config_t node_setting;
|
||||
vector_t sub_grp_configs; // neu_sub_grp_config_t
|
||||
|
||||
neu_events_t * events;
|
||||
neu_event_io_t *nng_io;
|
||||
};
|
||||
|
||||
neu_adapter_t *neu_adapter_create(neu_adapter_info_t *info,
|
||||
|
||||
@@ -108,12 +108,12 @@ static int update(neu_adapter_t *adapter, const char *name, neu_dvalue_t value)
|
||||
return 0;
|
||||
}
|
||||
|
||||
neu_adapter_driver_t *neu_adapter_driver_create(neu_adapter_t *adapter)
|
||||
neu_adapter_driver_t *neu_adapter_driver_create()
|
||||
{
|
||||
neu_adapter_driver_t *driver = calloc(1, sizeof(neu_adapter_driver_t));
|
||||
|
||||
driver->adapter = *adapter;
|
||||
free(adapter);
|
||||
// driver->adapter = *adapter;
|
||||
// free(adapter);
|
||||
|
||||
pthread_mutex_init(&driver->grp_mtx, NULL);
|
||||
driver->cache = neu_driver_cache_new();
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
#include "adapter.h"
|
||||
#include "core/message.h"
|
||||
|
||||
neu_adapter_driver_t *neu_adapter_driver_create(neu_adapter_t *adapter);
|
||||
neu_adapter_driver_t *neu_adapter_driver_create();
|
||||
|
||||
void neu_adapter_driver_destroy(neu_adapter_driver_t *driver);
|
||||
int neu_adapter_driver_start(neu_adapter_driver_t *driver);
|
||||
|
||||
Reference in New Issue
Block a user