Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
constructor (signalingConn, initiator, remotePeerId, room) {
log('establishing connection to ', logging.BOLD, remotePeerId)
this.room = room
this.remotePeerId = remotePeerId
this.closed = false
this.connected = false
this.synced = false
/**
* @type {any}
*/
this.peer = new Peer({ initiator })
this.peer.on('signal', signal => {
publishSignalingMessage(signalingConn, room, { to: remotePeerId, from: room.peerId, type: 'signal', signal })
})
this.peer.on('connect', () => {
log('connected to ', logging.BOLD, remotePeerId)
this.connected = true
// send sync step 1
const provider = room.provider
const doc = provider.doc
const awareness = room.awareness
const encoder = encoding.createEncoder()
encoding.writeVarUint(encoder, messageSync)
syncProtocol.writeSyncStep1(encoder, doc)
sendWebrtcConn(this, encoder)
const awarenessStates = awareness.getStates()
if (awarenessStates.size > 0) {
createPeer({ session, initiator, reference }) {
const ref = initiator ? generateUUID() : reference;
const { userId } = sessionUtils.unpack(session);
const peer = new Peer({ initiator });
peer.on('signal', (data) => {
this.sendMessage({
type: messageType.SIGNAL,
to: [{ session }],
content: {
initiator,
ref,
data,
},
});
});
peer.on('stream', (mediaStream) => {
if (!this.props.mediaStreams[mediaStream.id]) {
this.props.updateMediaStreams({
[mediaStream.id]: {
$set: this.streamManager.formMediaStreamState({