diff options
author | Gabor X Toth <*@tg-x.net> | 2016-08-17 21:26:41 +0000 |
---|---|---|
committer | Gabor X Toth <*@tg-x.net> | 2016-08-17 21:26:41 +0000 |
commit | 667cc67f8224ccf4ff391b125a614cf90cf5917e (patch) | |
tree | ae2048a6525ab2521ad989afa795d7a2f0833af6 /src/multicast | |
parent | 720a38ea7519f5a1a820157f056b150ab3d4abd5 (diff) | |
download | gnunet-667cc67f8224ccf4ff391b125a614cf90cf5917e.tar.gz gnunet-667cc67f8224ccf4ff391b125a614cf90cf5917e.zip |
psyc, social: switch to MQ
Diffstat (limited to 'src/multicast')
-rw-r--r-- | src/multicast/multicast_api.c | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/multicast/multicast_api.c b/src/multicast/multicast_api.c index 6fb45d722..89a9bf5e1 100644 --- a/src/multicast/multicast_api.c +++ b/src/multicast/multicast_api.c | |||
@@ -76,6 +76,11 @@ struct GNUNET_MULTICAST_Group | |||
76 | struct GNUNET_MQ_Handle *mq; | 76 | struct GNUNET_MQ_Handle *mq; |
77 | 77 | ||
78 | /** | 78 | /** |
79 | * Message to send on connect. | ||
80 | */ | ||
81 | struct GNUNET_MQ_Envelope *connect_env; | ||
82 | |||
83 | /** | ||
79 | * Time to wait until we try to reconnect on failure. | 84 | * Time to wait until we try to reconnect on failure. |
80 | */ | 85 | */ |
81 | struct GNUNET_TIME_Relative reconnect_delay; | 86 | struct GNUNET_TIME_Relative reconnect_delay; |
@@ -85,11 +90,6 @@ struct GNUNET_MULTICAST_Group | |||
85 | */ | 90 | */ |
86 | struct GNUNET_SCHEDULER_Task *reconnect_task; | 91 | struct GNUNET_SCHEDULER_Task *reconnect_task; |
87 | 92 | ||
88 | /** | ||
89 | * Message to send on connect. | ||
90 | */ | ||
91 | struct GNUNET_MQ_Envelope *connect_env; | ||
92 | |||
93 | GNUNET_MULTICAST_JoinRequestCallback join_req_cb; | 93 | GNUNET_MULTICAST_JoinRequestCallback join_req_cb; |
94 | GNUNET_MULTICAST_ReplayFragmentCallback replay_frag_cb; | 94 | GNUNET_MULTICAST_ReplayFragmentCallback replay_frag_cb; |
95 | GNUNET_MULTICAST_ReplayMessageCallback replay_msg_cb; | 95 | GNUNET_MULTICAST_ReplayMessageCallback replay_msg_cb; |
@@ -522,7 +522,7 @@ handle_member_join_decision (void *cls, | |||
522 | static void | 522 | static void |
523 | group_cleanup (struct GNUNET_MULTICAST_Group *grp) | 523 | group_cleanup (struct GNUNET_MULTICAST_Group *grp) |
524 | { | 524 | { |
525 | GNUNET_free (grp->connect_env); | 525 | GNUNET_MQ_discard (grp->connect_env); |
526 | if (NULL != grp->disconnect_cb) | 526 | if (NULL != grp->disconnect_cb) |
527 | grp->disconnect_cb (grp->disconnect_cls); | 527 | grp->disconnect_cb (grp->disconnect_cls); |
528 | } | 528 | } |
@@ -724,7 +724,7 @@ origin_disconnected (void *cls, enum GNUNET_MQ_Error error) | |||
724 | } | 724 | } |
725 | 725 | ||
726 | grp->reconnect_task = GNUNET_SCHEDULER_add_delayed (grp->reconnect_delay, | 726 | grp->reconnect_task = GNUNET_SCHEDULER_add_delayed (grp->reconnect_delay, |
727 | &origin_reconnect, | 727 | origin_reconnect, |
728 | orig); | 728 | orig); |
729 | grp->reconnect_delay = GNUNET_TIME_STD_BACKOFF (grp->reconnect_delay); | 729 | grp->reconnect_delay = GNUNET_TIME_STD_BACKOFF (grp->reconnect_delay); |
730 | } | 730 | } |
@@ -829,10 +829,11 @@ GNUNET_MULTICAST_origin_start (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
829 | grp->connect_env = GNUNET_MQ_msg (start, | 829 | grp->connect_env = GNUNET_MQ_msg (start, |
830 | GNUNET_MESSAGE_TYPE_MULTICAST_ORIGIN_START); | 830 | GNUNET_MESSAGE_TYPE_MULTICAST_ORIGIN_START); |
831 | start->max_fragment_id = max_fragment_id; | 831 | start->max_fragment_id = max_fragment_id; |
832 | GNUNET_memcpy (&start->group_key, priv_key, sizeof (*priv_key)); | 832 | start->group_key = *priv_key; |
833 | 833 | ||
834 | grp->is_origin = GNUNET_YES; | ||
835 | grp->cfg = cfg; | 834 | grp->cfg = cfg; |
835 | grp->is_origin = GNUNET_YES; | ||
836 | grp->reconnect_delay = GNUNET_TIME_UNIT_MILLISECONDS; | ||
836 | 837 | ||
837 | grp->cb_cls = cls; | 838 | grp->cb_cls = cls; |
838 | grp->join_req_cb = join_request_cb; | 839 | grp->join_req_cb = join_request_cb; |
@@ -1024,7 +1025,7 @@ member_disconnected (void *cls, enum GNUNET_MQ_Error error) | |||
1024 | grp->mq = NULL; | 1025 | grp->mq = NULL; |
1025 | 1026 | ||
1026 | grp->reconnect_task = GNUNET_SCHEDULER_add_delayed (grp->reconnect_delay, | 1027 | grp->reconnect_task = GNUNET_SCHEDULER_add_delayed (grp->reconnect_delay, |
1027 | &member_reconnect, | 1028 | member_reconnect, |
1028 | mem); | 1029 | mem); |
1029 | grp->reconnect_delay = GNUNET_TIME_STD_BACKOFF (grp->reconnect_delay); | 1030 | grp->reconnect_delay = GNUNET_TIME_STD_BACKOFF (grp->reconnect_delay); |
1030 | } | 1031 | } |
@@ -1162,9 +1163,9 @@ GNUNET_MULTICAST_member_join (const struct GNUNET_CONFIGURATION_Handle *cfg, | |||
1162 | if (0 < join_msg_size) | 1163 | if (0 < join_msg_size) |
1163 | GNUNET_memcpy (((char *) &join[1]) + relay_size, join_msg, join_msg_size); | 1164 | GNUNET_memcpy (((char *) &join[1]) + relay_size, join_msg, join_msg_size); |
1164 | 1165 | ||
1165 | grp->reconnect_delay = GNUNET_TIME_UNIT_MILLISECONDS; | ||
1166 | grp->is_origin = GNUNET_NO; | ||
1167 | grp->cfg = cfg; | 1166 | grp->cfg = cfg; |
1167 | grp->is_origin = GNUNET_NO; | ||
1168 | grp->reconnect_delay = GNUNET_TIME_UNIT_MILLISECONDS; | ||
1168 | 1169 | ||
1169 | mem->join_dcsn_cb = join_decision_cb; | 1170 | mem->join_dcsn_cb = join_decision_cb; |
1170 | grp->join_req_cb = join_request_cb; | 1171 | grp->join_req_cb = join_request_cb; |