summaryrefslogtreecommitdiffstats
path: root/PICA_nodewait.h
diff options
context:
space:
mode:
authorme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2013-07-07 00:36:07 +0000
committerme_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac>2013-07-07 00:36:07 +0000
commitcc968fd408127707b8d885ebee2b141416aaf362 (patch)
tree7a5682f531c433d98d25b06c36be76cc26db0f75 /PICA_nodewait.h
parent1214e541265a91ef932e34405660338da263fec8 (diff)
downloadpica-pica-cc968fd408127707b8d885ebee2b141416aaf362.tar.gz
pica-pica-cc968fd408127707b8d885ebee2b141416aaf362.zip
nodewait_start_connection() is split to the two functions, nodewait_start_resolve() and nodewait_start_connect(), each starts new thread for resolving and connecting. Between resolving and connecting check for existing connections with resolved address is performed
git-svn-id: svn://localhost/project_picapica/trunk@251 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'PICA_nodewait.h')
-rw-r--r--PICA_nodewait.h17
1 files changed, 12 insertions, 5 deletions
diff --git a/PICA_nodewait.h b/PICA_nodewait.h
index 614db09..e471c18 100644
--- a/PICA_nodewait.h
+++ b/PICA_nodewait.h
@@ -5,9 +5,12 @@
#include "PICA_node.h"
#define PICA_NODEWAIT_NEW 1
-#define PICA_NODEWAIT_RUNNING 2
-#define PICA_NODEWAIT_FINISHED_OK 3
-#define PICA_NODEWAIT_FINISHED_ERR 4
+#define PICA_NODEWAIT_RESOLVING 5
+#define PICA_NODEWAIT_RESOLVED 6
+#define PICA_NODEWAIT_CONNECTING 7
+#define PICA_NODEWAIT_CONNECTED 8
+#define PICA_NODEWAIT_RESOLVING_FAILED 9
+#define PICA_NODEWAIT_CONNECT_FAILED 10
struct nodewait
{
@@ -24,7 +27,10 @@ time_t tmst;
// } addrptr;
struct PICA_nodeaddr addr;
-
+
+struct addrinfo *ai;
+int ai_errorcode;
+
struct nodewait *next;
};
@@ -32,6 +38,7 @@ extern struct nodewait *nodewait_list;
struct nodewait *nodewait_list_addnew();
void nodewait_list_delete(struct nodewait *nw);
-void nodewait_start_connection(struct PICA_nodeaddr *a);
+void nodewait_start_resolve(struct PICA_nodeaddr *a);
+void nodewait_start_connect(struct nodewait *nw);
#endif