redux-peer-connection
v0.1.6
Published
Some redux tooling around create peer to peer connections
Downloads
3
Readme
Redux peer connection
Redux peer connection is a set of redux tools that enable peer to peer connections between two browsers. It uses simple peer
under the hood.
Includes
- reducer
- middleware
- action creators
Usage
Attaching it to the redux store.
import {createStore, applyMiddleware, combineReducers} from 'redux'
import {createReducer, middleware} from 'redux-peer-connection'
export const configStore = preload => {
return createStore(
combineReducers({
peer: createReducer('peer') // create reducer with the key of peer
}),
preload,
applyMiddleware(
middleware // add middleware to redux
)
)
}
This should setup a key in your reducer, with some info about the peer connection in it.
Whats info is available
{
channel: null, // the channel name eg. 'foo'
isConnected: false, // the state of the connection
isInitialized: false, // if a peer was created or not
offer: null, // RTCPeerConnection.createOffer
answer: null, // RTCPeerConnection.createAnswer
data: [], // if data is being passed this will be an array of buffers
stream: null // if video/audio is being passed this will be the incoming stream
}
Available action creators
To import action creators.
import {actions} from 'redux-peer-connection'
createPeer
Creates a peer connection, object passed to this function is then passed to a new instance of SimplePeer
actions.createPeer({
initiator: true,
channelName: 'my-p2p-app'
})
acceptSignal
Once somehow getting a signal from other peer. This can be an answer, offer, or ice canidate
actions.acceptSignal({
type: 'offer',
sdp: 'v=0\r\n...'
})
sendData
Once a connection is established, you can send data to the other peer via this method.
actions.sendData('hello, this is peer')
Contribute
We use standard
and make sure to run npm test
before making a PR.