@skyway-sdk/core
Version:
The official Next Generation JavaScript SDK for SkyWay
48 lines • 2.23 kB
TypeScript
import { Event } from '@skyway-sdk/common';
import { LocalStreamBase } from '.';
/**@description [japanese] DataStreamにて送受信できるデータの型。object型のデータを送信する場合、ArrayBufferなどの`JSON.stringify`に非対応な型をプロパティとして含めると正しいデータが送受信されないため、別途エンコード・デコード処理の実装が必要。 */
export declare type DataStreamMessageType = string | ArrayBuffer | object;
export declare class LocalDataStream extends LocalStreamBase {
readonly options: DataStreamOptions;
readonly contentType = "data";
/**@private */
readonly _onWriteData: Event<DataStreamMessageType>;
private _isEnabled;
/**
* @description [japanese] データストリームが書き込み可能な状態になったことを通知するイベント
* イベントデータとして、書き込み可能になったデータストリームのSubscriberの情報が通知される。
*/
readonly onWritable: Event<DataStreamSubscriber>;
/**
* @description [japanese] データストリームが書き込み不可能な状態になったことを通知するイベント。
* イベントデータとして、書き込み不可能になったデータストリームのSubscriberの情報が通知される。
*/
readonly onUnwritable: Event<DataStreamSubscriber>;
constructor(options?: DataStreamOptions);
/**@internal */
setIsEnabled(b: boolean): void;
/**@description [japanese] データを送信する */
write(data: DataStreamMessageType): void;
}
/**@internal */
export declare const objectFlag = "skyway_object:";
export declare type DataStreamOptions = {
/**
* @description [japanese] 再送待ち時間上限
*/
maxPacketLifeTime?: number;
/**
* @description [japanese] 再送回数上限
*/
maxRetransmits?: number;
/**
* @description [japanese] 順序制御
*/
ordered?: boolean;
};
/**@description [japanese] データストリームをSubscribeしているMemberの情報 */
export declare type DataStreamSubscriber = {
id: string;
name?: string;
};
//# sourceMappingURL=data.d.ts.map