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 Socket from "./socket.js";
|
||||
export type OnOpen = (socket: Socket, data: any) => {
|
||||
export type OnOpen = (peer: Peer, socket: Socket, data: any) => {
|
||||
connect: boolean;
|
||||
} | Promise<{
|
||||
connect: boolean;
|
||||
}> | Promise<void> | void;
|
||||
export type OnData = (data: any) => void;
|
||||
export type OnData = (peer: Peer, data: any) => void;
|
||||
export type OnReceive = OnData;
|
||||
export type OnClose = 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 {
|
||||
onopen?: OnOpen;
|
||||
onreceive?: OnReceive;
|
||||
|
|
|
@ -20,10 +20,10 @@ class Peer {
|
|||
this._proxy = proxy;
|
||||
this._peer = peer;
|
||||
this._muxer = muxer;
|
||||
this._onopen = onopen?.bind(this);
|
||||
this._onreceive = onreceive?.bind(this);
|
||||
this._onsend = onsend?.bind(this);
|
||||
this._onclose = onclose?.bind(this);
|
||||
this._onopen = onopen?.bind(undefined, this);
|
||||
this._onreceive = onreceive?.bind(undefined, this);
|
||||
this._onsend = onsend?.bind(undefined, this);
|
||||
this._onclose = onclose?.bind(undefined, this);
|
||||
this._emulateWebsocket = emulateWebsocket;
|
||||
}
|
||||
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 { Buffer } from "buffer";
|
||||
export type OnOpen = (
|
||||
peer: Peer,
|
||||
socket: Socket,
|
||||
data: any
|
||||
) =>
|
||||
|
@ -9,11 +10,24 @@ export type OnOpen = (
|
|||
| Promise<{ connect: boolean }>
|
||||
| Promise<void>
|
||||
| void;
|
||||
export type OnData = (data: any) => void;
|
||||
export type OnData = (peer: Peer, data: any) => void;
|
||||
export type OnReceive = OnData;
|
||||
export type OnClose = 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 {
|
||||
onopen?: OnOpen;
|
||||
onreceive?: OnReceive;
|
||||
|
@ -36,10 +50,10 @@ export default class Peer {
|
|||
private _peer: any;
|
||||
private _muxer: any;
|
||||
private _socket?: Socket;
|
||||
private _onopen: OnOpen;
|
||||
private _onreceive: OnReceive;
|
||||
private _onsend: OnSend;
|
||||
private _onclose: OnClose;
|
||||
private _onopen: OnOpenBound;
|
||||
private _onreceive: OnReceiveBound;
|
||||
private _onsend: OnSendBound;
|
||||
private _onclose: OnCloseBound;
|
||||
private _emulateWebsocket: boolean;
|
||||
|
||||
private _channel?: any;
|
||||
|
@ -57,10 +71,10 @@ export default class Peer {
|
|||
this._proxy = proxy;
|
||||
this._peer = peer;
|
||||
this._muxer = muxer;
|
||||
this._onopen = onopen?.bind(this);
|
||||
this._onreceive = onreceive?.bind(this);
|
||||
this._onsend = onsend?.bind(this);
|
||||
this._onclose = onclose?.bind(this);
|
||||
this._onopen = onopen?.bind(undefined, this);
|
||||
this._onreceive = onreceive?.bind(undefined, this);
|
||||
this._onsend = onsend?.bind(undefined, this);
|
||||
this._onclose = onclose?.bind(undefined, this);
|
||||
this._emulateWebsocket = emulateWebsocket;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue