aboutsummaryrefslogtreecommitdiff
path: root/src/core/endpt.h
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-07-14 19:43:09 -0700
committerGarrett D'Amore <garrett@damore.org>2017-07-14 19:43:09 -0700
commit031f7f441f88379d5359a6e96cdd2fe296052070 (patch)
tree6ce377b449fb1922ad5461265697d0df991c4837 /src/core/endpt.h
parent36746b4f6615607510eedb8e5d168b0fc4897ded (diff)
downloadnng-031f7f441f88379d5359a6e96cdd2fe296052070.tar.gz
nng-031f7f441f88379d5359a6e96cdd2fe296052070.tar.bz2
nng-031f7f441f88379d5359a6e96cdd2fe296052070.zip
Implemented asynchronous (fully) accept.
This logic leaves a race condition in the dial side, which will be fixed with a subsequent change to convert that to fully asynchronous as well.
Diffstat (limited to 'src/core/endpt.h')
-rw-r--r--src/core/endpt.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/core/endpt.h b/src/core/endpt.h
index f37ea7cc..a47586a0 100644
--- a/src/core/endpt.h
+++ b/src/core/endpt.h
@@ -29,12 +29,16 @@ struct nni_ep {
nni_thr ep_thr;
int ep_mode;
int ep_started;
+ int ep_stop;
int ep_closed; // full shutdown
int ep_bound; // true if we bound locally
nni_mtx ep_mtx;
nni_cv ep_cv;
nni_pipe * ep_pipe; // Connected pipe (dialers only)
nni_list ep_pipes;
+ nni_aio ep_acc_aio;
+ nni_aio ep_con_aio;
+ nni_taskq_ent ep_reap_tqe;
};
enum nni_ep_mode {
@@ -45,13 +49,10 @@ enum nni_ep_mode {
extern int nni_ep_sys_init(void);
extern void nni_ep_sys_fini(void);
extern int nni_ep_find(nni_ep **, uint32_t);
-extern void nni_ep_hold(nni_ep *);
-extern void nni_ep_rele(nni_ep *);
extern uint32_t nni_ep_id(nni_ep *);
extern int nni_ep_create(nni_ep **, nni_sock *, const char *, int);
extern void nni_ep_stop(nni_ep *);
extern void nni_ep_close(nni_ep *);
-extern void nni_ep_remove(nni_ep *);
extern int nni_ep_dial(nni_ep *, int);
extern int nni_ep_listen(nni_ep *, int);
extern void nni_ep_list_init(nni_list *);