fix politeness
This commit is contained in:
@@ -82,9 +82,7 @@ export class PeerManager {
|
||||
if (!peerConnection) {
|
||||
let remotePeerID = message.from;
|
||||
let newPeer = new PeerConnection(this, remotePeerID, this.websocketSendPeerMessage.bind(this));
|
||||
if (this._isBootstrapPeer) {
|
||||
newPeer.setPolite(false);
|
||||
}
|
||||
newPeer.setPoliteFromID(remotePeerID, true);
|
||||
peerConnection = newPeer;
|
||||
this.peers.set(newPeer.remotePeerID, newPeer);
|
||||
this.onConnectRequest(newPeer);
|
||||
@@ -417,6 +415,10 @@ class PeerConnection {
|
||||
setPolite(polite) {
|
||||
this.polite = polite;
|
||||
}
|
||||
setPoliteFromID(peerID, remote = false) {
|
||||
let polite = (parseInt(peerID.charAt(peerID.length - 1), 16) % 2 == 0) && !remote;
|
||||
this.setPolite(polite);
|
||||
}
|
||||
setupDataChannel() {
|
||||
if (!this.dataChannel) {
|
||||
throw new Error();
|
||||
@@ -513,6 +515,7 @@ class PeerConnection {
|
||||
}
|
||||
try {
|
||||
this.makingOffer = true;
|
||||
this.setPoliteFromID(this.peerManager.peerID);
|
||||
await this.rtcPeer.setLocalDescription();
|
||||
if (!this.rtcPeer.localDescription) {
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user