package ru.m.connect; import haxework.signal.Signal; import haxe.io.Bytes; import promhx.Promise; import protohx.Message; enum ConnectionEvent { CONNECTED; DISCONNECTED; ERROR(error:Dynamic); } interface IConnection { public var connected(default, null):Bool; public var handler(default, null):Signal; public var sendHandler(default, null):Signal; public var receiveHandler(default, null):Signal; public function connect():Promise>; public function disconnect():Void; public function send(packet:O):Void; public function pushData(bytes:Bytes):Void; }