Skip to content

Commit 611cc2d

Browse files
Merge pull request #4 from mangledbottles/interfaces
Typescript Interfaces
2 parents 2473064 + a4180cf commit 611cc2d

File tree

4 files changed

+27
-22
lines changed

4 files changed

+27
-22
lines changed

Server/src/Router.ts

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,25 +7,17 @@ const switcherPort: number = 51510;
77
const Router = dgram.createSocket('udp4');
88
let routerId: String;
99

10+
/** Import required Typescript Interfaces */
11+
import { Router } from "./interfaces/Router.interface";
12+
1013
/** Handle errors and close Socket */
1114
Router.on('error', (err) => {
1215
console.log(`Server error:\n${err.stack}`);
1316
Router.close();
1417
});
1518

16-
interface Router {
17-
routerIn?: String; // eg E1
18-
routerOut?: String; // eg R2
19-
routerId?: String; // eg R1
20-
address?: String; // eg 127.0.0.1
21-
port?: number; // eg 69902
22-
forwardAddress?: string; // eg 127.0.0.1
23-
forwardPort?: number; // eg 61984
24-
}
25-
2619
let currentRouter: Router = {};
2720

28-
2921
// Listen for incoming messages from Clients and the Switcher
3022
Router.on('message', (msg, senderInfo) => {
3123
// Type -1: An error has occured
@@ -76,11 +68,12 @@ Router.on('message', (msg, senderInfo) => {
7668
break;
7769
}
7870

71+
// Log message
7972
console.log({ currentRouter });
80-
8173
console.log(JSON.parse(msg.toString()));
8274
});
8375

76+
// Forward message to next Router or Client
8477
function forwardMessage(message: Buffer, address: string, port: number) {
8578
console.log(`Forwarding message ${message} to ${address}:${port}`);
8679
Router.send(message, port, address, (err) => {

Server/src/Switcher.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ import dgram from "dgram";
66
const socketPort: number = 51510;
77
const Switcher = dgram.createSocket('udp4');
88

9+
/** Import required Typescript Interfaces */
10+
import { Client, Router } from "./interfaces/Switcher.interface";
11+
912
/** Handle errors and close Socket */
1013
Switcher.on('error', (err) => {
1114
console.log(`Server error:\n${err.stack}`);
@@ -160,17 +163,7 @@ function prepareMessage(type: number, message: any) {
160163
return Buffer.from(JSON.stringify({ type, message }));
161164
}
162165

163-
164166
/** Broadcast Information from Server to all Clients */
165-
interface Client {
166-
address: string;
167-
port: number
168-
}
169-
interface Router extends Client {
170-
in?: Router | Client;
171-
out?: Router | Client;
172-
routerId: String;
173-
}
174167

175168
let Routers: Set<string> = new Set();
176169

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export interface Router {
2+
routerIn?: String; // eg E1
3+
routerOut?: String; // eg R2
4+
routerId?: String; // eg R1
5+
address?: String; // eg 127.0.0.1
6+
port?: number; // eg 69902
7+
forwardAddress?: string; // eg 127.0.0.1
8+
forwardPort?: number; // eg 61984
9+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
export interface Client {
2+
address: string;
3+
port: number
4+
}
5+
6+
export interface Router extends Client {
7+
in?: Router | Client;
8+
out?: Router | Client;
9+
routerId: String;
10+
}

0 commit comments

Comments
 (0)