summaryrefslogtreecommitdiff
path: root/engine/network/index.ts
diff options
context:
space:
mode:
authorElizabeth (Lizzy) Hunt <elizabeth.hunt@simponic.xyz>2023-08-26 17:57:05 -0600
committerGitHub <noreply@github.com>2023-08-26 17:57:05 -0600
commit8a4ab8d79b5ce1dabb431168398b5d5111fe326c (patch)
treee60767dc5295edf379cf421e20171dc418e548b7 /engine/network/index.ts
parentc6e9baa0009f7cce0f6ff156a3957ef04a8cb684 (diff)
parent6ce6946a4401d2ee6fa5cb747fab7d4c658a63c8 (diff)
downloadjumpstorm-8a4ab8d79b5ce1dabb431168398b5d5111fe326c.tar.gz
jumpstorm-8a4ab8d79b5ce1dabb431168398b5d5111fe326c.zip
Merge pull request #1 from Simponic/network
Network
Diffstat (limited to 'engine/network/index.ts')
-rw-r--r--engine/network/index.ts37
1 files changed, 37 insertions, 0 deletions
diff --git a/engine/network/index.ts b/engine/network/index.ts
new file mode 100644
index 0000000..5dc7ece
--- /dev/null
+++ b/engine/network/index.ts
@@ -0,0 +1,37 @@
+export enum MessageType {
+ NEW_ENTITIES = 'NEW_ENTITIES',
+ REMOVE_ENTITIES = 'REMOVE_ENTITIES',
+ UPDATE_ENTITIES = 'UPDATE_ENTITIES',
+ NEW_INPUT = 'NEW_INPUT',
+ REMOVE_INPUT = 'REMOVE_INPUT'
+}
+
+export type EntityAddBody = {
+ entityName: string;
+ id: string;
+ args: Record<string, any>;
+};
+
+export type EntityUpdateBody = {
+ id: string;
+ args: Record<string, any>;
+};
+
+export type Message = {
+ type: MessageType;
+ body: any;
+};
+
+export interface MessageQueueProvider {
+ getNewMessages(): Message[];
+ clearMessages(): void;
+}
+
+export interface MessagePublisher {
+ addMessage(message: Message): void;
+ publish(): void;
+}
+
+export interface MessageProcessor {
+ process(message: Message): void;
+}