awrtc_browser
Version:
Compatible browser implementation to the Unity asset WebRTC Video Chat. Try examples in build folder
81 lines (80 loc) • 2.49 kB
TypeScript
import { ConnectionId, NetworkEvent, IBasicNetwork } from './INetwork';
export declare enum WebsocketConnectionStatus {
Uninitialized = 0,
NotConnected = 1,
Connecting = 2,
Connected = 3,
Disconnecting = 4
}
export declare enum WebsocketServerStatus {
Offline = 0,
Starting = 1,
Online = 2,
ShuttingDown = 3
}
export declare class WebsocketNetwork implements IBasicNetwork {
static readonly LOGTAG = "WebsocketNetwork";
private mSocket;
private mStatus;
getStatus(): WebsocketConnectionStatus;
private mOutgoingQueue;
private mIncomingQueue;
private mServerStatus;
private mConnecting;
private mConnections;
private mNextOutgoingConnectionId;
static readonly PROTOCOL_VERSION = 2;
static readonly PROTOCOL_VERSION_MIN = 1;
private mRemoteProtocolVersion;
private mUrl;
private mConfig;
private mLastHeartbeat;
private mHeartbeatReceived;
private mIsDisposed;
constructor(url: string, configuration?: WebsocketNetwork.Configuration);
private WebsocketConnect;
private WebsocketCleanup;
private EnsureServerConnection;
private UpdateHeartbeat;
private TriggerHeartbeatTimeout;
private CheckSleep;
private OnWebsocketOnOpen;
private OnWebsocketOnClose;
private OnWebsocketOnMessage;
private OnWebsocketOnError;
private Cleanup;
private EnqueueOutgoing;
private EnqueueIncoming;
private TryRemoveConnecting;
private TryRemoveConnection;
private ParseMessage;
private HandleIncomingEvent;
private HandleOutgoingEvents;
private SendHeartbeat;
private SendVersion;
private SendNetworkEvent;
private InternalSend;
private NextConnectionId;
private GetRandomKey;
Dequeue(): NetworkEvent;
Peek(): NetworkEvent;
Update(): void;
Flush(): void;
SendData(id: ConnectionId, data: Uint8Array, /*offset: number, length: number,*/ reliable: boolean): boolean;
Disconnect(id: ConnectionId): void;
Shutdown(): void;
Dispose(): void;
StartServer(): void;
StartServer(address: string): void;
StopServer(): void;
Connect(address: string): ConnectionId;
}
export declare namespace WebsocketNetwork {
class Configuration {
mHeartbeat: number;
get Heartbeat(): number;
set Heartbeat(value: number);
mLocked: boolean;
Lock(): void;
}
}