Skip to content

Commit

Permalink
make example simpler
Browse files Browse the repository at this point in the history
  • Loading branch information
Raynos committed Aug 18, 2012
1 parent 9929e74 commit ce2466a
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 69 deletions.
43 changes: 8 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,47 +7,20 @@ A peer to peer discovery network in the cloud
See [webrtc-stream for more detailed example][1]

``` js
var DiscoveryNetwork = require("discovery-network")
var DiscoveryNetwork = require("../../../browser")
, Connection = DiscoveryNetwork.Connection
, PeerNetwork = DiscoveryNetwork.PeerNetwork
, RelayNetwork = DiscoveryNetwork.RelayNetwork
, SimpleRelayConnections = DiscoveryNetwork.SimpleRelayConnections
// Open discovery connection
, conn = Connection("http://localhost:8081/shoe")
, rcs = SimpleRelayConnections(conn)
, RelayStreams = DiscoveryNetwork.RelayStreams

// Open discovery connection
var conn = Connection("http://localhost:8081/shoe")

// Identify ourself with a random UUID
conn.identify()

var peerNetwork = PeerNetwork(conn, "discovery-network-demo:peer")
, relayNetwork = RelayNetwork(conn, "discovery-network-demo:relay")

// when you detect a new peer joining, open a RC to them
peerNetwork.on("peer", handlePeer)

// when we detect an offer from the relay network, open an RC to them
relayNetwork.on("offer", handleOffer)

// incoming answers from another peer
relayNetwork.on("answer", rcs.handleAnswer)

// handle streams coming out of rcs
rcs.on("stream", handleStream)

peerNetwork.join()

function handlePeer(remotePeerId) {
var offer = rcs.create(remotePeerId)

relayNetwork.sendOffer(remotePeerId, offer)
}

function handleOffer(remotePeerId, offer) {
var answer = rcs.create(remotePeerId, offer)

relayNetwork.sendAnswer(remotePeerId, answer)
}
// Open up a set of relay streams through the connection, on the namespace
RelayStreams(conn, "discovery-network-demo", handleStream)

// When the relay emits a stream handle it
function handleStream(remotePeerId, stream) {
stream.write("hello!")

Expand Down
2 changes: 2 additions & 0 deletions browser.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ var Connection = require("./networks/connection")
, RelayNetwork = require("./networks/relayNetwork")
, RelayConnection = require("./connections/relayConnection")
, SimpleRelayConnections = require("./connections/simpleRelayConnections")
, RelayStreams = require("./connections/relayStreams")
, log = require("./log")

module.exports = {
Expand All @@ -16,5 +17,6 @@ module.exports = {
, RelayNetwork: RelayNetwork
, RelayConnection: RelayConnection
, SimpleRelayConnections: SimpleRelayConnections
, RelayStreams: RelayStreams
, log: log
}
44 changes: 44 additions & 0 deletions connections/relayStreams.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
var SimpleRelayConnections = require("./simpleRelayConnections")
, RelayNetwork = require("../networks/relayNetwork")
, PeerNetwork = require("../networks/peerNetwork")

module.exports = RelayStreams

function RelayStreams(conn, name, callback) {
var rcs = SimpleRelayConnections(conn)
, peerNetwork = PeerNetwork(conn, name + "/peer")
, relayNetwork = RelayNetwork(conn, name + "/relay")

// when you detect a new peer joining, open a RC to them
peerNetwork.on("peer", handlePeer)

// when we detect an offer from the relay network, open an RC to them
relayNetwork.on("offer", handleOffer)

// incoming answers from another peer
relayNetwork.on("answer", rcs.handleAnswer)

// handle streams coming out of rcs
rcs.on("stream", callback)

peerNetwork.join()

return {
rcs: rcs
, streams: rcs.streams
, peerNetwork: peerNetwork
, relayNetwork: relayNetwork
}

function handlePeer(remotePeerId) {
var offer = rcs.create(remotePeerId)

relayNetwork.sendOffer(remotePeerId, offer)
}

function handleOffer(remotePeerId, offer) {
var answer = rcs.create(remotePeerId, offer)

relayNetwork.sendAnswer(remotePeerId, answer)
}
}
41 changes: 7 additions & 34 deletions example/simple/static/index.js
Original file line number Diff line number Diff line change
@@ -1,44 +1,17 @@
var DiscoveryNetwork = require("../../../browser")
, Connection = DiscoveryNetwork.Connection
, PeerNetwork = DiscoveryNetwork.PeerNetwork
, RelayNetwork = DiscoveryNetwork.RelayNetwork
, SimpleRelayConnections = DiscoveryNetwork.SimpleRelayConnections
// Open discovery connection
, conn = Connection("http://localhost:8081/shoe")
, rcs = SimpleRelayConnections(conn)
, RelayStreams = DiscoveryNetwork.RelayStreams

// Open discovery connection
var conn = Connection("http://localhost:8081/shoe")

// Identify ourself with a random UUID
conn.identify()

var peerNetwork = PeerNetwork(conn, "discovery-network-demo:peer")
, relayNetwork = RelayNetwork(conn, "discovery-network-demo:relay")

// when you detect a new peer joining, open a RC to them
peerNetwork.on("peer", handlePeer)

// when we detect an offer from the relay network, open an RC to them
relayNetwork.on("offer", handleOffer)

// incoming answers from another peer
relayNetwork.on("answer", rcs.handleAnswer)

// handle streams coming out of rcs
rcs.on("stream", handleStream)

peerNetwork.join()

function handlePeer(remotePeerId) {
var offer = rcs.create(remotePeerId)

relayNetwork.sendOffer(remotePeerId, offer)
}

function handleOffer(remotePeerId, offer) {
var answer = rcs.create(remotePeerId, offer)

relayNetwork.sendAnswer(remotePeerId, answer)
}
// Open up a set of relay streams through the connection, on the namespace
RelayStreams(conn, "discovery-network-demo", handleStream)

// When the relay emits a stream handle it
function handleStream(remotePeerId, stream) {
stream.write("hello!")

Expand Down

0 comments on commit ce2466a

Please sign in to comment.