22 * @typedef {{
33 * port: number;
44 * host?: string;
5- * timeout?: number;
5+ * timeout?: number,
66 * localAddress?: string,
77 * localPort?: number,
88 * interface?: 'wifi' | 'cellular' | 'ethernet',
@@ -24,6 +24,9 @@ export default class TcpSocket extends EventEmitter {
2424 _id : number ;
2525 _eventEmitter : import ( "react-native" ) . NativeEventEmitter ;
2626 /** @type {number } */
27+ _timeoutMsecs : number ;
28+ _timeout : NodeJS . Timeout | undefined ;
29+ /** @type {number } */
2730 _state : number ;
2831 /**
2932 * @protected
@@ -55,26 +58,28 @@ export default class TcpSocket extends EventEmitter {
5558 } , callback ?: ( ( address : string ) => void ) | undefined ) : TcpSocket ;
5659 _destroyed : boolean | undefined ;
5760 /**
58- * @private
59- * @param {number } msecs
60- * @param {() => void } [wrapper]
61+ * Sets the socket to timeout after `timeout` milliseconds of inactivity on the socket. By default `TcpSocket` do not have a timeout.
62+ *
63+ * When an idle timeout is triggered the socket will receive a `'timeout'` event but the connection will not be severed.
64+ * The user must manually call `socket.end()` or `socket.destroy()` to end the connection.
65+ *
66+ * If `timeout` is 0, then the existing idle timeout is disabled.
67+ *
68+ * The optional `callback` parameter will be added as a one-time listener for the `'timeout'` event.
69+ *
70+ * @param {number } timeout
71+ * @param {() => void } [callback]
6172 */
62- private _activeTimer ;
63- _timeout : {
64- handle : NodeJS . Timeout ;
65- wrapper : ( ) => void ;
66- msecs : number ;
67- } | null | undefined ;
73+ setTimeout ( timeout : number , callback ?: ( ( ) => void ) | undefined ) : TcpSocket ;
6874 /**
6975 * @private
76+ * @param {number } [timeout]
7077 */
71- private _clearTimeout ;
78+ private _activateTimer ;
7279 /**
73- * @deprecated
74- * @param {number } msecs
75- * @param {(...args: any[]) => void } [callback]
80+ * @private
7681 */
77- setTimeout ( msecs : number , callback ?: ( ( ... args : any [ ] ) => void ) | undefined ) : TcpSocket ;
82+ private _clearTimeout ;
7883 /**
7984 * Enable/disable the use of Nagle's algorithm. When a TCP connection is created, it will have Nagle's algorithm enabled.
8085 *
0 commit comments