diff options
Diffstat (limited to 'src/transport/plugin_transport_unix.c')
-rw-r--r-- | src/transport/plugin_transport_unix.c | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/src/transport/plugin_transport_unix.c b/src/transport/plugin_transport_unix.c index beed32d8d..4e153aab4 100644 --- a/src/transport/plugin_transport_unix.c +++ b/src/transport/plugin_transport_unix.c | |||
@@ -276,7 +276,7 @@ struct Plugin | |||
276 | /** | 276 | /** |
277 | * Sessions | 277 | * Sessions |
278 | */ | 278 | */ |
279 | struct GNUNET_CONTAINER_MultiHashMap *session_map; | 279 | struct GNUNET_CONTAINER_MultiPeerMap *session_map; |
280 | 280 | ||
281 | /** | 281 | /** |
282 | * FD Read set | 282 | * FD Read set |
@@ -454,7 +454,7 @@ struct LookupCtx | |||
454 | */ | 454 | */ |
455 | static int | 455 | static int |
456 | lookup_session_it (void *cls, | 456 | lookup_session_it (void *cls, |
457 | const struct GNUNET_HashCode * key, | 457 | const struct GNUNET_PeerIdentity * key, |
458 | void *value) | 458 | void *value) |
459 | { | 459 | { |
460 | struct LookupCtx *lctx = cls; | 460 | struct LookupCtx *lctx = cls; |
@@ -498,8 +498,8 @@ lookup_session (struct Plugin *plugin, | |||
498 | lctx.s = NULL; | 498 | lctx.s = NULL; |
499 | lctx.ua = ua; | 499 | lctx.ua = ua; |
500 | lctx.ua_len = ua_len; | 500 | lctx.ua_len = ua_len; |
501 | GNUNET_CONTAINER_multihashmap_get_multiple (plugin->session_map, | 501 | GNUNET_CONTAINER_multipeermap_get_multiple (plugin->session_map, |
502 | &sender->hashPubKey, | 502 | sender, |
503 | &lookup_session_it, &lctx); | 503 | &lookup_session_it, &lctx); |
504 | return lctx.s; | 504 | return lctx.s; |
505 | } | 505 | } |
@@ -542,12 +542,12 @@ disconnect_session (struct Session *s) | |||
542 | removed = GNUNET_YES; | 542 | removed = GNUNET_YES; |
543 | } | 543 | } |
544 | GNUNET_assert (GNUNET_YES == | 544 | GNUNET_assert (GNUNET_YES == |
545 | GNUNET_CONTAINER_multihashmap_remove (plugin->session_map, | 545 | GNUNET_CONTAINER_multipeermap_remove (plugin->session_map, |
546 | &s->target.hashPubKey, | 546 | &s->target, |
547 | s)); | 547 | s)); |
548 | GNUNET_STATISTICS_set (plugin->env->stats, | 548 | GNUNET_STATISTICS_set (plugin->env->stats, |
549 | "# UNIX sessions active", | 549 | "# UNIX sessions active", |
550 | GNUNET_CONTAINER_multihashmap_size (plugin->session_map), | 550 | GNUNET_CONTAINER_multipeermap_size (plugin->session_map), |
551 | GNUNET_NO); | 551 | GNUNET_NO); |
552 | if ((GNUNET_YES == removed) && (NULL == plugin->msg_head)) | 552 | if ((GNUNET_YES == removed) && (NULL == plugin->msg_head)) |
553 | reschedule_select (plugin); | 553 | reschedule_select (plugin); |
@@ -712,7 +712,7 @@ struct GetSessionIteratorContext | |||
712 | */ | 712 | */ |
713 | static int | 713 | static int |
714 | get_session_it (void *cls, | 714 | get_session_it (void *cls, |
715 | const struct GNUNET_HashCode *key, | 715 | const struct GNUNET_PeerIdentity *key, |
716 | void *value) | 716 | void *value) |
717 | { | 717 | { |
718 | struct GetSessionIteratorContext *gsi = cls; | 718 | struct GetSessionIteratorContext *gsi = cls; |
@@ -818,8 +818,8 @@ unix_plugin_get_session (void *cls, | |||
818 | gsi.address = (const char *) address->address; | 818 | gsi.address = (const char *) address->address; |
819 | gsi.addrlen = address->address_length; | 819 | gsi.addrlen = address->address_length; |
820 | gsi.res = NULL; | 820 | gsi.res = NULL; |
821 | GNUNET_CONTAINER_multihashmap_get_multiple (plugin->session_map, | 821 | GNUNET_CONTAINER_multipeermap_get_multiple (plugin->session_map, |
822 | &address->peer.hashPubKey, | 822 | &address->peer, |
823 | &get_session_it, &gsi); | 823 | &get_session_it, &gsi); |
824 | if (NULL != gsi.res) | 824 | if (NULL != gsi.res) |
825 | { | 825 | { |
@@ -843,12 +843,12 @@ unix_plugin_get_session (void *cls, | |||
843 | LOG (GNUNET_ERROR_TYPE_DEBUG, | 843 | LOG (GNUNET_ERROR_TYPE_DEBUG, |
844 | "Creating a new session %p for address `%s'\n", | 844 | "Creating a new session %p for address `%s'\n", |
845 | s, unix_address_to_string (NULL, address->address, address->address_length)); | 845 | s, unix_address_to_string (NULL, address->address, address->address_length)); |
846 | (void) GNUNET_CONTAINER_multihashmap_put (plugin->session_map, | 846 | (void) GNUNET_CONTAINER_multipeermap_put (plugin->session_map, |
847 | &address->peer.hashPubKey, s, | 847 | &address->peer, s, |
848 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); | 848 | GNUNET_CONTAINER_MULTIHASHMAPOPTION_MULTIPLE); |
849 | GNUNET_STATISTICS_set (plugin->env->stats, | 849 | GNUNET_STATISTICS_set (plugin->env->stats, |
850 | "# UNIX sessions active", | 850 | "# UNIX sessions active", |
851 | GNUNET_CONTAINER_multihashmap_size (plugin->session_map), | 851 | GNUNET_CONTAINER_multipeermap_size (plugin->session_map), |
852 | GNUNET_NO); | 852 | GNUNET_NO); |
853 | return s; | 853 | return s; |
854 | } | 854 | } |
@@ -898,8 +898,8 @@ unix_plugin_send (void *cls, | |||
898 | GNUNET_assert (NULL != session); | 898 | GNUNET_assert (NULL != session); |
899 | 899 | ||
900 | if (GNUNET_OK != | 900 | if (GNUNET_OK != |
901 | GNUNET_CONTAINER_multihashmap_contains_value (plugin->session_map, | 901 | GNUNET_CONTAINER_multipeermap_contains_value (plugin->session_map, |
902 | &session->target.hashPubKey, | 902 | &session->target, |
903 | session)) | 903 | session)) |
904 | { | 904 | { |
905 | LOG (GNUNET_ERROR_TYPE_ERROR, | 905 | LOG (GNUNET_ERROR_TYPE_ERROR, |
@@ -1553,7 +1553,9 @@ reschedule_session_timeout (struct Session *s) | |||
1553 | * @return GNUNET_YES (always, continue to iterate) | 1553 | * @return GNUNET_YES (always, continue to iterate) |
1554 | */ | 1554 | */ |
1555 | static int | 1555 | static int |
1556 | get_session_delete_it (void *cls, const struct GNUNET_HashCode * key, void *value) | 1556 | get_session_delete_it (void *cls, |
1557 | const struct GNUNET_PeerIdentity *key, | ||
1558 | void *value) | ||
1557 | { | 1559 | { |
1558 | struct Session *s = value; | 1560 | struct Session *s = value; |
1559 | 1561 | ||
@@ -1567,7 +1569,7 @@ get_session_delete_it (void *cls, const struct GNUNET_HashCode * key, void *valu | |||
1567 | * | 1569 | * |
1568 | * @param cls closure for this call (should be handle to Plugin) | 1570 | * @param cls closure for this call (should be handle to Plugin) |
1569 | * @param target the peeridentity of the peer to disconnect | 1571 | * @param target the peeridentity of the peer to disconnect |
1570 | * @return GNUNET_OK on success, GNUNET_SYSERR if the operation failed | 1572 | * @return #GNUNET_OK on success, #GNUNET_SYSERR if the operation failed |
1571 | */ | 1573 | */ |
1572 | static void | 1574 | static void |
1573 | unix_disconnect (void *cls, | 1575 | unix_disconnect (void *cls, |
@@ -1576,8 +1578,8 @@ unix_disconnect (void *cls, | |||
1576 | struct Plugin *plugin = cls; | 1578 | struct Plugin *plugin = cls; |
1577 | 1579 | ||
1578 | GNUNET_assert (plugin != NULL); | 1580 | GNUNET_assert (plugin != NULL); |
1579 | GNUNET_CONTAINER_multihashmap_get_multiple (plugin->session_map, | 1581 | GNUNET_CONTAINER_multipeermap_get_multiple (plugin->session_map, |
1580 | &target->hashPubKey, | 1582 | target, |
1581 | &get_session_delete_it, plugin); | 1583 | &get_session_delete_it, plugin); |
1582 | } | 1584 | } |
1583 | 1585 | ||
@@ -1638,7 +1640,7 @@ libgnunet_plugin_transport_unix_init (void *cls) | |||
1638 | if (0 == sockets_created) | 1640 | if (0 == sockets_created) |
1639 | LOG (GNUNET_ERROR_TYPE_WARNING, | 1641 | LOG (GNUNET_ERROR_TYPE_WARNING, |
1640 | _("Failed to open UNIX listen socket\n")); | 1642 | _("Failed to open UNIX listen socket\n")); |
1641 | plugin->session_map = GNUNET_CONTAINER_multihashmap_create (10, GNUNET_NO); | 1643 | plugin->session_map = GNUNET_CONTAINER_multipeermap_create (10, GNUNET_NO); |
1642 | plugin->address_update_task = GNUNET_SCHEDULER_add_now (&address_notification, plugin); | 1644 | plugin->address_update_task = GNUNET_SCHEDULER_add_now (&address_notification, plugin); |
1643 | return api; | 1645 | return api; |
1644 | } | 1646 | } |
@@ -1701,9 +1703,9 @@ libgnunet_plugin_transport_unix_done (void *cls) | |||
1701 | plugin->unix_sock.desc = NULL; | 1703 | plugin->unix_sock.desc = NULL; |
1702 | plugin->with_ws = GNUNET_NO; | 1704 | plugin->with_ws = GNUNET_NO; |
1703 | } | 1705 | } |
1704 | GNUNET_CONTAINER_multihashmap_iterate (plugin->session_map, | 1706 | GNUNET_CONTAINER_multipeermap_iterate (plugin->session_map, |
1705 | &get_session_delete_it, plugin); | 1707 | &get_session_delete_it, plugin); |
1706 | GNUNET_CONTAINER_multihashmap_destroy (plugin->session_map); | 1708 | GNUNET_CONTAINER_multipeermap_destroy (plugin->session_map); |
1707 | if (NULL != plugin->rs) | 1709 | if (NULL != plugin->rs) |
1708 | GNUNET_NETWORK_fdset_destroy (plugin->rs); | 1710 | GNUNET_NETWORK_fdset_destroy (plugin->rs); |
1709 | if (NULL != plugin->ws) | 1711 | if (NULL != plugin->ws) |