Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type P2P ¶
type P2P struct { // Represents the host context layer Ctx context.Context // Represents the libp2p host Host host.Host // Represents the DHT routing table KadDHT *dht.IpfsDHT // Represents the peer discovery service Discovery *discoveryRouting.RoutingDiscovery // Represents the PubSub Handler PubSub *pubsub.PubSub // contains filtered or unexported fields }
P2P A structure that represents a P2P Host
func (*P2P) AdvertiseConnect ¶
func (p2p *P2P) AdvertiseConnect()
A method of P2P to connect to service peers. This method uses the Advertise() functionality of the Peer Discovery Service to advertise the service and then disovers all peers advertising the same. The peer discovery is handled by a go-routine that will read from a channel of peer address information until the peer channel closes
func (*P2P) AnnounceConnect ¶
func (p2p *P2P) AnnounceConnect()
A method of P2P to connect to service peers. This method uses the Provide() functionality of the Kademlia DHT directly to announce the ability to provide the service and then disovers all peers that provide the same. The peer discovery is handled by a go-routine that will read from a channel of peer address information until the peer channel closes
type PubSub ¶
type PubSub struct { // Represents the P2P Host for the PubSub Host *P2P // Represents the channel of incoming messages Inbound chan chatmessage // Represents the channel of outgoing messages Outbound chan string // Represents the channel of chat log messages Logs chan chatlog // Represents the client of the chat room ClientName string // Represent the topic of the user in the chat room TopicName string // contains filtered or unexported fields }
A structure that represents a PubSub Chat Room
func JoinPubSub ¶
A constructor function that generates and returns a new PubSub for a given P2PHost, username and roomname
func (*PubSub) Exit ¶
func (cr *PubSub) Exit()
A method of PubSub that updates the chat room by subscribing to the new topic
func (*PubSub) PubLoop ¶
func (cr *PubSub) PubLoop()
A method of PubSub that publishes a chatmessage to the PubSub topic until the pubsub context closes
func (*PubSub) SubLoop ¶
func (cr *PubSub) SubLoop()
A method of PubSub that continously reads from the subscription until either the subscription or pubsub context closes. The received message is parsed sent into the inbound channel
func (*PubSub) UpdateUser ¶
A method of PubSub that updates the chat user name