fix(PortProxy): Optimize connection cleanup logic in PortProxy by removing unnecessary delays.
This commit is contained in:
parent
b3ba0c21e8
commit
9af968b8e7
@ -1,5 +1,11 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 2025-02-27 - 3.16.6 - fix(PortProxy)
|
||||||
|
Optimize connection cleanup logic in PortProxy by removing unnecessary delays.
|
||||||
|
|
||||||
|
- Removed multiple await plugins.smartdelay.delayFor(0) calls.
|
||||||
|
- Improved performance by ensuring timely resource release during connection termination.
|
||||||
|
|
||||||
## 2025-02-27 - 3.16.5 - fix(PortProxy)
|
## 2025-02-27 - 3.16.5 - fix(PortProxy)
|
||||||
Improved connection cleanup process with added asynchronous delays
|
Improved connection cleanup process with added asynchronous delays
|
||||||
|
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@push.rocks/smartproxy',
|
name: '@push.rocks/smartproxy',
|
||||||
version: '3.16.5',
|
version: '3.16.6',
|
||||||
description: 'A robust and versatile proxy package designed to handle high workloads, offering features like SSL redirection, port proxying, WebSocket support, and customizable routing and authentication.'
|
description: 'A robust and versatile proxy package designed to handle high workloads, offering features like SSL redirection, port proxying, WebSocket support, and customizable routing and authentication.'
|
||||||
}
|
}
|
||||||
|
@ -143,15 +143,11 @@ export class PortProxy {
|
|||||||
const cleanupOnce = async () => {
|
const cleanupOnce = async () => {
|
||||||
if (!connectionRecord.connectionClosed) {
|
if (!connectionRecord.connectionClosed) {
|
||||||
connectionRecord.connectionClosed = true;
|
connectionRecord.connectionClosed = true;
|
||||||
await plugins.smartdelay.delayFor(0);
|
|
||||||
if (connectionRecord.cleanupTimer) {
|
if (connectionRecord.cleanupTimer) {
|
||||||
clearTimeout(connectionRecord.cleanupTimer);
|
clearTimeout(connectionRecord.cleanupTimer);
|
||||||
}
|
}
|
||||||
await plugins.smartdelay.delayFor(0);
|
|
||||||
if (!socket.destroyed) socket.destroy();
|
if (!socket.destroyed) socket.destroy();
|
||||||
await plugins.smartdelay.delayFor(0);
|
|
||||||
if (connectionRecord.outgoing && !connectionRecord.outgoing.destroyed) connectionRecord.outgoing.destroy();
|
if (connectionRecord.outgoing && !connectionRecord.outgoing.destroyed) connectionRecord.outgoing.destroy();
|
||||||
await plugins.smartdelay.delayFor(0);
|
|
||||||
this.connectionRecords.delete(connectionRecord);
|
this.connectionRecords.delete(connectionRecord);
|
||||||
console.log(`Connection from ${remoteIP} terminated. Active connections: ${this.connectionRecords.size}`);
|
console.log(`Connection from ${remoteIP} terminated. Active connections: ${this.connectionRecords.size}`);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user