summaryrefslogtreecommitdiff
path: root/engine/network/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'engine/network/index.ts')
-rw-r--r--engine/network/index.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/engine/network/index.ts b/engine/network/index.ts
new file mode 100644
index 0000000..1726ffc
--- /dev/null
+++ b/engine/network/index.ts
@@ -0,0 +1,29 @@
+export enum MessageType {
+ NEW_ENTITY = "NEW_ENTITY",
+ REMOVE_ENTITY = "REMOVE_ENTITY",
+ UPDATE_ENTITY = "UPDATE_ENTITY",
+}
+
+export type EntityAddBody = {
+ entityName: string;
+ args: 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;
+}