about summary refs log tree commit diff
path: root/assets/src/network/transfer/transfer.ts
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-02-19 20:00:38 +0100
committerMel <einebeere@gmail.com>2022-02-19 20:00:38 +0100
commitbf1450799df0deb424a9675be89e13c29e3620d7 (patch)
tree6a5f2f7559c5946058deadf8375f6609485a3d3f /assets/src/network/transfer/transfer.ts
parent5384c34952b031995ecb8aa58d72954b0c685e18 (diff)
downloadrook-bf1450799df0deb424a9675be89e13c29e3620d7.tar.zst
rook-bf1450799df0deb424a9675be89e13c29e3620d7.zip
Split state into stages to handle messages
Diffstat (limited to 'assets/src/network/transfer/transfer.ts')
-rw-r--r--assets/src/network/transfer/transfer.ts46
1 files changed, 4 insertions, 42 deletions
diff --git a/assets/src/network/transfer/transfer.ts b/assets/src/network/transfer/transfer.ts
index e950589..399250f 100644
--- a/assets/src/network/transfer/transfer.ts
+++ b/assets/src/network/transfer/transfer.ts
@@ -1,11 +1,4 @@
 import { Writable, writable } from "svelte/store";
-import type { IncomingRequest } from "../../models/incoming_request";
-import type { OwnRequest } from "../../models/own_request";
-import type { UnregisterFn } from "../channel/messages/event_handler";
-import type {
-    RequestIceCandidateMessage,
-    ShareIceCandidateMessage,
-} from "../channel/messages/messages";
 
 export enum TransferState {
     CONNECTING,
@@ -49,6 +42,7 @@ export function createTransfer(
     };
 
     channel.onopen = () => {
+        console.log("Transfer channel open.");
         state.set(TransferState.TRANSFERRING);
         onChannel(channel, () => onTransferComplete(transfer));
     };
@@ -56,43 +50,11 @@ export function createTransfer(
     return transfer;
 }
 
-export function bindTransfer(
-    request: OwnRequest | IncomingRequest,
-    transferPromise: Promise<Transfer>,
-    completeTransfer: () => void
-) {
-    transferPromise.then(transfer => {
-        request.transfer = transfer;
-
-        const unsubsribe = transfer.state.subscribe(transferState => {
-            if (transferState === TransferState.DONE) {
-                unsubsribe();
-                // Once the data has been transferred we can remove the transfer
-                request.transfer = null;
-
-                completeTransfer();
-            }
-        });
-    });
-}
-
-export function onIncomingIceCandidate(
+export function addRemoteIceCandidate(
     transfer: Transfer,
-    message: ShareIceCandidateMessage | RequestIceCandidateMessage
+    candidate: RTCIceCandidateInit
 ) {
-    transfer.pc.addIceCandidate(message.candidate);
-}
-
-export function unregisterIceOnComplete(
-    transfer: Transfer,
-    unregister: UnregisterFn
-) {
-    transfer.pc.onicegatheringstatechange = event => {
-        const connection = event.target as any;
-        if (connection.iceGatheringState === "complete") {
-            unregister();
-        }
-    };
+    transfer.pc.addIceCandidate(candidate);
 }
 
 function onTransferComplete(transfer: Transfer) {