diff options
Diffstat (limited to 'engine/network/index.ts')
-rw-r--r-- | engine/network/index.ts | 29 |
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; +} |