about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2021-12-07 23:56:32 +0100
committerMel <einebeere@gmail.com>2021-12-07 23:56:32 +0100
commit8fe41fbba4d629d89560a9efcce8116025679bfd (patch)
treece31ee6a8dd60da1d9c9e584d66d6579124617df
parente71bc8c4e1d5f29ca3842b29f04e07672f6c949a (diff)
downloadrook-8fe41fbba4d629d89560a9efcce8116025679bfd.tar.zst
rook-8fe41fbba4d629d89560a9efcce8116025679bfd.zip
Nicer names
-rw-r--r--assets/src/network/channel/connection.ts12
-rw-r--r--assets/src/network/channel/messages/event_handler.ts40
-rw-r--r--assets/src/network/channel/request_connection.ts4
-rw-r--r--assets/src/network/channel/share_connection.ts4
-rw-r--r--assets/src/network/transfer/share_transfer.ts6
-rw-r--r--assets/src/network/transfer/transfer.ts4
6 files changed, 39 insertions, 31 deletions
diff --git a/assets/src/network/channel/connection.ts b/assets/src/network/channel/connection.ts
index 7e9b13c..04ff6e8 100644
--- a/assets/src/network/channel/connection.ts
+++ b/assets/src/network/channel/connection.ts
@@ -1,10 +1,10 @@
 import { Channel, Push, Socket } from "phoenix";
 import { get, Readable, writable, Writable } from "svelte/store";
 import {
-    Handler,
+    HandlerFn,
     EventHandler,
     registerHandlerForSpecificToken,
-    Unregister,
+    UnregisterFn,
     registerHandler,
 } from "./messages/event_handler";
 import type { AnyMessage, TokenizedMessage } from "./messages/messages";
@@ -54,8 +54,8 @@ export function send(event: string, data: any): Push {
 export function onWithToken<M extends TokenizedMessage>(
     event: M["event_name"],
     token: string | null,
-    handler: Handler<M>
-): Unregister {
+    handler: HandlerFn<M>
+): UnregisterFn {
     return registerHandlerForSpecificToken(
         connection.handlers,
         connection.channel,
@@ -67,8 +67,8 @@ export function onWithToken<M extends TokenizedMessage>(
 
 export function on<M extends AnyMessage>(
     event: M["event_name"],
-    handler: Handler<M>
-): Unregister {
+    handler: HandlerFn<M>
+): UnregisterFn {
     return registerHandler(
         connection.handlers,
         connection.channel,
diff --git a/assets/src/network/channel/messages/event_handler.ts b/assets/src/network/channel/messages/event_handler.ts
index fe950ea..d0936e0 100644
--- a/assets/src/network/channel/messages/event_handler.ts
+++ b/assets/src/network/channel/messages/event_handler.ts
@@ -10,45 +10,48 @@ import type {
 // handler for each event and token.
 // Every event can only have either one single handler, or multiple handlers for different tokens.
 export type EventHandler = {
-    [EN in EventName]?: MessageHandler<MessageForEvent<EN>>;
+    [EN in EventName]?: HandlerForMessage<MessageForEvent<EN>>;
 };
 
 // A handler for a specific event and message.
 // A message handler can either be a single handler or can have multiple handlers for different tokens
-type MessageHandler<M extends AnyMessage> =
+type HandlerForMessage<M extends AnyMessage> =
     // A single handler
-    | { type: "single"; handler: Handler<M> }
+    | { type: "single"; handler: HandlerFn<M> }
     // A group of handlers for different tokens
     // Can only be used for messages which have a "token" field.
     | (M extends TokenizedMessage
           ? {
                 type: "token";
-                handler: TokenHandler<M>;
+                handler: HandlerForTokenizedMessage<M>;
             }
           : never);
 
 // A map of token to handler for a specific event.
-export type TokenHandler<M extends TokenizedMessage> = Map<string, Handler<M>>;
+export type HandlerForTokenizedMessage<M extends TokenizedMessage> = Map<
+    string,
+    HandlerFn<M>
+>;
 
 // A function which handles a message for a specific event.
-export type Handler<M extends AnyMessage> = (message?: M) => void;
+export type HandlerFn<M extends AnyMessage> = (message?: M) => void;
 
 // A function that unregisters a single event handler.
-export type Unregister = () => void;
+export type UnregisterFn = () => void;
 
 // Adds a single handler for a specific event.
 export function registerHandler<M extends AnyMessage>(
     eventHandler: EventHandler,
     channel: Channel,
     event: M["event_name"],
-    handler: Handler<M>
+    handler: HandlerFn<M>
 ) {
-    const messageHandler: MessageHandler<M> = {
+    const messageHandler: HandlerForMessage<M> = {
         type: "single",
         handler,
     };
 
-    let unregisterChannelEvent: Unregister | null = null;
+    let unregisterChannelEvent: UnregisterFn | null = null;
     if (typeof eventHandler[event] === "undefined") {
         // Register a new event handler, since this is the first handler for this event
         unregisterChannelEvent = registerNewEvent<M>(
@@ -85,8 +88,8 @@ export function registerHandlerForSpecificToken<M extends TokenizedMessage>(
     channel: Channel,
     event: M["event_name"],
     token: string,
-    handler: Handler<M>
-): Unregister {
+    handler: HandlerFn<M>
+): UnregisterFn {
     const messageHandler = eventHandler[event];
 
     if (typeof messageHandler === "undefined") {
@@ -94,7 +97,7 @@ export function registerHandlerForSpecificToken<M extends TokenizedMessage>(
         // @ts-ignore
         eventHandler[event] = {
             type: "token",
-            handler: new Map<string, Handler<M>>(),
+            handler: new Map<string, HandlerFn<M>>(),
         };
         // @ts-ignore
         registerNewEvent<M>(channel, eventHandler[event], event);
@@ -110,7 +113,8 @@ export function registerHandlerForSpecificToken<M extends TokenizedMessage>(
     }
 
     // @ts-ignore This shoudl be valid, as we derive the event name from the message type.
-    const tokenHandler: TokenHandler<M> = eventHandler[event].handler;
+    const tokenHandler: HandlerForTokenizedMessage<M> =
+        eventHandler[event].handler;
     tokenHandler.set(token, handler);
 
     return () => {
@@ -128,9 +132,9 @@ export function registerHandlerForSpecificToken<M extends TokenizedMessage>(
 // Adds a callback for a new event
 function registerNewEvent<M extends AnyMessage>(
     channel: Channel,
-    messageHandler: MessageHandler<M>,
+    messageHandler: HandlerForMessage<M>,
     event: M["event_name"]
-): Unregister {
+): UnregisterFn {
     const callback = (data: M) => {
         // Add event_name to message, so the type definitions match
         const message = { event_name: event, ...data };
@@ -143,7 +147,7 @@ function registerNewEvent<M extends AnyMessage>(
 }
 
 function onEvent<M extends AnyMessage>(
-    messageHandler: MessageHandler<M>,
+    messageHandler: HandlerForMessage<M>,
     message: M
 ) {
     if (messageHandler.type === "token") {
@@ -152,7 +156,7 @@ function onEvent<M extends AnyMessage>(
         const handler = messageHandler.handler.get(token);
 
         if (typeof handler !== "undefined") {
-            (handler as Handler<M>)(message);
+            (handler as HandlerFn<M>)(message);
         } else {
             console.warn(`Received message for unknown token: ${token}`);
         }
diff --git a/assets/src/network/channel/request_connection.ts b/assets/src/network/channel/request_connection.ts
index 1b873d3..aef5300 100644
--- a/assets/src/network/channel/request_connection.ts
+++ b/assets/src/network/channel/request_connection.ts
@@ -27,6 +27,10 @@ export async function startRequestConnection(ownRequest: OwnRequest) {
         onRequestAccepted(message, ownRequest)
     );
 
+    on("new_request", (message) => {
+        message.event_name
+    });
+
     on("share_cancelled", (message: ShareCancelledMessage) =>
         onShareCancelled(message, ownRequest)
     );
diff --git a/assets/src/network/channel/share_connection.ts b/assets/src/network/channel/share_connection.ts
index bdc2b8e..ac6dfbf 100644
--- a/assets/src/network/channel/share_connection.ts
+++ b/assets/src/network/channel/share_connection.ts
@@ -7,7 +7,7 @@ import {
     start,
     updateState,
 } from "./connection";
-import type { Unregister } from "./messages/event_handler";
+import type { UnregisterFn } from "./messages/event_handler";
 import type {
     NewRequestMessage,
     RequestCancelledMessage,
@@ -54,7 +54,7 @@ function onNewRequest(message: NewRequestMessage) {
 
 function onRequestCancelled(
     message: RequestCancelledMessage,
-    unregister: Unregister
+    unregister: UnregisterFn
 ) {
     const token = message.token;
     requests.removeRequest(token);
diff --git a/assets/src/network/transfer/share_transfer.ts b/assets/src/network/transfer/share_transfer.ts
index 0f88e04..f641a56 100644
--- a/assets/src/network/transfer/share_transfer.ts
+++ b/assets/src/network/transfer/share_transfer.ts
@@ -1,7 +1,7 @@
 import { get } from "svelte/store";
 import dataStore from "../../stores/data";
 import { onWithToken, send } from "../channel/connection";
-import type { Unregister } from "../channel/messages/event_handler";
+import type { UnregisterFn } from "../channel/messages/event_handler";
 import type {
     RequestIceCandidateMessage,
     ShareAcceptedMessage,
@@ -34,7 +34,7 @@ export async function createOfferTransfer(
         type: offer.type,
     });
 
-    const unregister: Unregister = onWithToken(
+    const unregister: UnregisterFn = onWithToken(
         "share_accepted",
         request_token,
         (message: ShareAcceptedMessage) =>
@@ -47,7 +47,7 @@ export async function createOfferTransfer(
 function onShareAccepted(
     transfer: Transfer,
     message: ShareAcceptedMessage,
-    unregister: Unregister
+    unregister: UnregisterFn
 ) {
     const token = message.token;
 
diff --git a/assets/src/network/transfer/transfer.ts b/assets/src/network/transfer/transfer.ts
index 27182be..e950589 100644
--- a/assets/src/network/transfer/transfer.ts
+++ b/assets/src/network/transfer/transfer.ts
@@ -1,7 +1,7 @@
 import { Writable, writable } from "svelte/store";
 import type { IncomingRequest } from "../../models/incoming_request";
 import type { OwnRequest } from "../../models/own_request";
-import type { Unregister } from "../channel/messages/event_handler";
+import type { UnregisterFn } from "../channel/messages/event_handler";
 import type {
     RequestIceCandidateMessage,
     ShareIceCandidateMessage,
@@ -85,7 +85,7 @@ export function onIncomingIceCandidate(
 
 export function unregisterIceOnComplete(
     transfer: Transfer,
-    unregister: Unregister
+    unregister: UnregisterFn
 ) {
     transfer.pc.onicegatheringstatechange = event => {
         const connection = event.target as any;