Compare commits
4 Commits
c9cfb64c80
...
baf0ac31e6
Author | SHA1 | Date |
---|---|---|
Derrick Hammer | baf0ac31e6 | |
Derrick Hammer | ae2ee61bec | |
Derrick Hammer | b9611cecd7 | |
Derrick Hammer | e5f4f59477 |
|
@ -1,14 +1,23 @@
|
||||||
import Proxy from "./proxy.js";
|
import Proxy from "./proxy.js";
|
||||||
import Socket from "./socket.js";
|
import Socket from "./socket.js";
|
||||||
export type OnOpen = (socket: Socket, data: any) => {
|
export type OnOpen = (peer: Peer, socket: Socket, data: any) => {
|
||||||
connect: boolean;
|
connect: boolean;
|
||||||
} | Promise<{
|
} | Promise<{
|
||||||
connect: boolean;
|
connect: boolean;
|
||||||
}> | Promise<void> | void;
|
}> | Promise<void> | void;
|
||||||
export type OnData = (data: any) => void;
|
export type OnData = (peer: Peer, data: any) => void;
|
||||||
export type OnReceive = OnData;
|
export type OnReceive = OnData;
|
||||||
export type OnClose = OnData;
|
export type OnClose = OnData;
|
||||||
export type OnSend = OnData;
|
export type OnSend = OnData;
|
||||||
|
export type OnOpenBound = (socket: Socket, data: any) => {
|
||||||
|
connect: boolean;
|
||||||
|
} | Promise<{
|
||||||
|
connect: boolean;
|
||||||
|
}> | Promise<void> | void;
|
||||||
|
export type OnDataBound = (data: any) => void;
|
||||||
|
export type OnReceiveBound = OnDataBound;
|
||||||
|
export type OnCloseBound = OnDataBound;
|
||||||
|
export type OnSendBound = OnDataBound;
|
||||||
export interface DataSocketOptions {
|
export interface DataSocketOptions {
|
||||||
onopen?: OnOpen;
|
onopen?: OnOpen;
|
||||||
onreceive?: OnReceive;
|
onreceive?: OnReceive;
|
||||||
|
|
|
@ -20,10 +20,10 @@ class Peer {
|
||||||
this._proxy = proxy;
|
this._proxy = proxy;
|
||||||
this._peer = peer;
|
this._peer = peer;
|
||||||
this._muxer = muxer;
|
this._muxer = muxer;
|
||||||
this._onopen = onopen?.bind(this);
|
this._onopen = onopen?.bind(undefined, this);
|
||||||
this._onreceive = onreceive?.bind(this);
|
this._onreceive = onreceive?.bind(undefined, this);
|
||||||
this._onsend = onsend?.bind(this);
|
this._onsend = onsend?.bind(undefined, this);
|
||||||
this._onclose = onclose?.bind(this);
|
this._onclose = onclose?.bind(undefined, this);
|
||||||
this._emulateWebsocket = emulateWebsocket;
|
this._emulateWebsocket = emulateWebsocket;
|
||||||
}
|
}
|
||||||
async init() {
|
async init() {
|
||||||
|
|
32
src/peer.ts
32
src/peer.ts
|
@ -2,6 +2,7 @@ import Proxy from "./proxy.js";
|
||||||
import Socket from "./socket.js";
|
import Socket from "./socket.js";
|
||||||
import { Buffer } from "buffer";
|
import { Buffer } from "buffer";
|
||||||
export type OnOpen = (
|
export type OnOpen = (
|
||||||
|
peer: Peer,
|
||||||
socket: Socket,
|
socket: Socket,
|
||||||
data: any
|
data: any
|
||||||
) =>
|
) =>
|
||||||
|
@ -9,11 +10,24 @@ export type OnOpen = (
|
||||||
| Promise<{ connect: boolean }>
|
| Promise<{ connect: boolean }>
|
||||||
| Promise<void>
|
| Promise<void>
|
||||||
| void;
|
| void;
|
||||||
export type OnData = (data: any) => void;
|
export type OnData = (peer: Peer, data: any) => void;
|
||||||
export type OnReceive = OnData;
|
export type OnReceive = OnData;
|
||||||
export type OnClose = OnData;
|
export type OnClose = OnData;
|
||||||
export type OnSend = OnData;
|
export type OnSend = OnData;
|
||||||
|
|
||||||
|
export type OnOpenBound = (
|
||||||
|
socket: Socket,
|
||||||
|
data: any
|
||||||
|
) =>
|
||||||
|
| { connect: boolean }
|
||||||
|
| Promise<{ connect: boolean }>
|
||||||
|
| Promise<void>
|
||||||
|
| void;
|
||||||
|
export type OnDataBound = (data: any) => void;
|
||||||
|
export type OnReceiveBound = OnDataBound;
|
||||||
|
export type OnCloseBound = OnDataBound;
|
||||||
|
export type OnSendBound = OnDataBound;
|
||||||
|
|
||||||
export interface DataSocketOptions {
|
export interface DataSocketOptions {
|
||||||
onopen?: OnOpen;
|
onopen?: OnOpen;
|
||||||
onreceive?: OnReceive;
|
onreceive?: OnReceive;
|
||||||
|
@ -36,10 +50,10 @@ export default class Peer {
|
||||||
private _peer: any;
|
private _peer: any;
|
||||||
private _muxer: any;
|
private _muxer: any;
|
||||||
private _socket?: Socket;
|
private _socket?: Socket;
|
||||||
private _onopen: OnOpen;
|
private _onopen: OnOpenBound;
|
||||||
private _onreceive: OnReceive;
|
private _onreceive: OnReceiveBound;
|
||||||
private _onsend: OnSend;
|
private _onsend: OnSendBound;
|
||||||
private _onclose: OnClose;
|
private _onclose: OnCloseBound;
|
||||||
private _emulateWebsocket: boolean;
|
private _emulateWebsocket: boolean;
|
||||||
|
|
||||||
private _channel?: any;
|
private _channel?: any;
|
||||||
|
@ -57,10 +71,10 @@ export default class Peer {
|
||||||
this._proxy = proxy;
|
this._proxy = proxy;
|
||||||
this._peer = peer;
|
this._peer = peer;
|
||||||
this._muxer = muxer;
|
this._muxer = muxer;
|
||||||
this._onopen = onopen?.bind(this);
|
this._onopen = onopen?.bind(undefined, this);
|
||||||
this._onreceive = onreceive?.bind(this);
|
this._onreceive = onreceive?.bind(undefined, this);
|
||||||
this._onsend = onsend?.bind(this);
|
this._onsend = onsend?.bind(undefined, this);
|
||||||
this._onclose = onclose?.bind(this);
|
this._onclose = onclose?.bind(undefined, this);
|
||||||
this._emulateWebsocket = emulateWebsocket;
|
this._emulateWebsocket = emulateWebsocket;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue