mirror of
https://github.com/MercuryWorkshop/adrift.git
synced 2025-05-12 22:00:02 -04:00
tracker + swarm combination works
This commit is contained in:
parent
188c4a2cfb
commit
517d190aa1
4 changed files with 9 additions and 4 deletions
|
@ -10,6 +10,7 @@ const rtcConf = {
|
|||
|
||||
|
||||
export type Offer = { offer: any; localCandidates: any };
|
||||
export type Answer = { answer: any; candidates: any };
|
||||
|
||||
|
||||
export class RTCTransport extends Transport {
|
||||
|
|
|
@ -2,10 +2,10 @@ import { getDatabase, onValue, ref, set, remove } from "firebase/database";
|
|||
// import "firebase-config";
|
||||
|
||||
import { v4 as uuid } from "uuid";
|
||||
import { Offer } from "./RTCTransport";
|
||||
import { Answer } from "./RTCTransport";
|
||||
|
||||
|
||||
export async function signalSwarm(offer: string): Promise<Offer> {
|
||||
export async function signalSwarm(offer: string): Promise<Answer> {
|
||||
let id = uuid();
|
||||
const db = getDatabase();
|
||||
let reff = ref(db, `/swarm/${id}`);
|
||||
|
@ -25,6 +25,7 @@ export async function signalSwarm(offer: string): Promise<Offer> {
|
|||
if (!text)
|
||||
return;
|
||||
let data = JSON.parse(text);
|
||||
console.log(data);
|
||||
|
||||
if (data.error) {
|
||||
reject(new Error(data.error));
|
||||
|
|
|
@ -121,8 +121,10 @@
|
|||
async function connectSwarm() {
|
||||
rtctransport = transport = createRTCTransport();
|
||||
|
||||
// let offer = await rtctransport.createOffer();
|
||||
await SignalFirebase.signalSwarm("test");
|
||||
let offer = await rtctransport.createOffer();
|
||||
let answer = await SignalFirebase.signalSwarm(JSON.stringify(offer));
|
||||
|
||||
rtctransport.answer(answer.answer, answer.candidates);
|
||||
}
|
||||
|
||||
async function connectDevHttp() {
|
||||
|
|
|
@ -55,6 +55,7 @@ reff.on("value", snapshot => {
|
|||
let selectedmember = members[Math.floor(Math.random() * members.length)];
|
||||
|
||||
selectedmember.once("message", (answer) => {
|
||||
console.log("setting answer" + answer);
|
||||
db.ref(`/swarm/${key}`).set(answer);
|
||||
});
|
||||
selectedmember.send(offer);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue