Sha256: 55d5db5ca51833a0d6519c558a02dc790500ef04d92c1ea8450aad48b21e5a9a
Contents?: true
Size: 834 Bytes
Versions: 2
Compression:
Stored size: 834 Bytes
Contents
# frozen_string_literal: true module P2pStreamsChannel STATE_SESSION_JOIN = "SessionJoin".freeze STATE_SESSION_READY = "SessionReady".freeze STATE_CONNECTED = "connected".freeze class SessionState attr_reader :peers, :host_peer_id def initialize(host_peer_id = nil) @peers = {} @host_peer_id = host_peer_id end def add_peer(peer_id) @peers[peer_id] = true @host_peer_id = peer_id if @host_peer_id.nil? end def remove_peer(peer_id) @peers[peer_id] = false end def num_of_connected_peers @peers.count { |peer, connected| connected == true } end def host_ready? @peers[@host_peer_id] == true end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
p2p_streams_channel-0.0.3 | lib/p2p_streams_channel/session_state.rb |
p2p_streams_channel-0.0.2 | lib/p2p_streams_channel/session_state.rb |