From 45af29da8095af16729955117a165d23e77cd740 Mon Sep 17 00:00:00 2001 From: reduz Date: Thu, 19 May 2022 17:00:06 +0200 Subject: Add a new HashSet template * Intended to replace RBSet in most cases. * Optimized for iteration speed --- scene/multiplayer/scene_replication_state.h | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'scene/multiplayer/scene_replication_state.h') diff --git a/scene/multiplayer/scene_replication_state.h b/scene/multiplayer/scene_replication_state.h index 33f72363ac..60a6c5d70c 100644 --- a/scene/multiplayer/scene_replication_state.h +++ b/scene/multiplayer/scene_replication_state.h @@ -62,27 +62,27 @@ private: }; struct PeerInfo { - RBSet known_nodes; + HashSet known_nodes; HashMap recv_nodes; uint16_t last_sent_sync = 0; uint16_t last_recv_sync = 0; }; - RBSet known_peers; + HashSet known_peers; uint32_t last_net_id = 0; HashMap tracked_nodes; HashMap peers_info; - RBSet spawned_nodes; - RBSet path_only_nodes; + HashSet spawned_nodes; + HashSet path_only_nodes; TrackedNode &_track(const ObjectID &p_id); void _untrack(const ObjectID &p_id); bool is_tracked(const ObjectID &p_id) const { return tracked_nodes.has(p_id); } public: - const RBSet get_peers() const { return known_peers; } - const RBSet &get_spawned_nodes() const { return spawned_nodes; } - const RBSet &get_path_only_nodes() const { return path_only_nodes; } + const HashSet get_peers() const { return known_peers; } + const HashSet &get_spawned_nodes() const { return spawned_nodes; } + const HashSet &get_path_only_nodes() const { return path_only_nodes; } MultiplayerSynchronizer *get_synchronizer(const ObjectID &p_id) { return tracked_nodes.has(p_id) ? tracked_nodes[p_id].get_synchronizer() : nullptr; } MultiplayerSpawner *get_spawner(const ObjectID &p_id) { return tracked_nodes.has(p_id) ? tracked_nodes[p_id].get_spawner() : nullptr; } @@ -90,7 +90,7 @@ public: bool update_last_node_sync(const ObjectID &p_id, uint16_t p_time); bool update_sync_time(const ObjectID &p_id, uint64_t p_msec); - const RBSet get_known_nodes(int p_peer); + const HashSet get_known_nodes(int p_peer); uint32_t get_net_id(const ObjectID &p_id) const; void set_net_id(const ObjectID &p_id, uint32_t p_net_id); uint32_t ensure_net_id(const ObjectID &p_id); -- cgit v1.2.3