node-opcua-transport 2.99.0 → 2.102.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/source/client_tcp_transport.d.ts +4 -9
- package/dist/source/client_tcp_transport.js +38 -71
- package/dist/source/client_tcp_transport.js.map +1 -1
- package/dist/source/server_tcp_transport.d.ts +3 -15
- package/dist/source/server_tcp_transport.js +40 -41
- package/dist/source/server_tcp_transport.js.map +1 -1
- package/dist/source/tcp_transport.d.ts +45 -28
- package/dist/source/tcp_transport.js +160 -110
- package/dist/source/tcp_transport.js.map +1 -1
- package/dist/test_helpers/ITransportPair.d.ts +7 -0
- package/dist/test_helpers/ITransportPair.js +3 -0
- package/dist/test_helpers/ITransportPair.js.map +1 -0
- package/dist/test_helpers/fake_server.d.ts +2 -0
- package/dist/test_helpers/fake_server.js +3 -0
- package/dist/test_helpers/fake_server.js.map +1 -1
- package/dist/test_helpers/half_com_channel.d.ts +17 -10
- package/dist/test_helpers/half_com_channel.js +63 -4
- package/dist/test_helpers/half_com_channel.js.map +1 -1
- package/dist/test_helpers/index.d.ts +2 -2
- package/dist/test_helpers/index.js +2 -2
- package/dist/test_helpers/index.js.map +1 -1
- package/dist/test_helpers/{direct_transport.d.ts → transport_pair_direct.d.ts} +2 -6
- package/dist/test_helpers/{direct_transport.js → transport_pair_direct.js} +11 -18
- package/dist/test_helpers/transport_pair_direct.js.map +1 -0
- package/dist/test_helpers/transport_pair_socket.d.ts +14 -0
- package/dist/test_helpers/transport_pair_socket.js +33 -0
- package/dist/test_helpers/transport_pair_socket.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/source/client_tcp_transport.ts +56 -89
- package/source/server_tcp_transport.ts +48 -50
- package/source/tcp_transport.ts +226 -157
- package/dist/test_helpers/direct_transport.js.map +0 -1
- package/dist/test_helpers/socket_transport.d.ts +0 -10
- package/dist/test_helpers/socket_transport.js +0 -31
- package/dist/test_helpers/socket_transport.js.map +0 -1
|
@@ -1,20 +1,50 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
3
|
/**
|
|
5
4
|
* @module node-opcua-transport
|
|
6
5
|
*/
|
|
7
6
|
import { EventEmitter } from "events";
|
|
8
|
-
import { Socket } from "net";
|
|
9
7
|
import { ErrorCallback, CallbackWithData, StatusCode } from "node-opcua-status-code";
|
|
10
|
-
export interface
|
|
8
|
+
export interface ISocketLike extends EventEmitter {
|
|
9
|
+
remoteAddress?: string;
|
|
10
|
+
remotePort?: number;
|
|
11
|
+
write(data: string | Buffer, callback?: (err?: Error) => void | undefined): void;
|
|
12
|
+
end(): void;
|
|
13
|
+
setKeepAlive(enable?: boolean, initialDelay?: number): this;
|
|
14
|
+
setNoDelay(noDelay?: boolean): this;
|
|
15
|
+
setTimeout(timeout: number, callback?: () => void): this;
|
|
16
|
+
destroy(err?: Error): void;
|
|
17
|
+
destroyed: boolean;
|
|
18
|
+
on(event: "close", listener: (hadError: boolean) => void): this;
|
|
19
|
+
on(event: "connect", listener: () => void): this;
|
|
20
|
+
on(event: "data", listener: (data: Buffer) => void): this;
|
|
21
|
+
on(event: "end", listener: () => void): this;
|
|
22
|
+
on(event: "error", listener: (err: Error) => void): this;
|
|
23
|
+
on(event: "timeout", listener: () => void): this;
|
|
24
|
+
once(event: "close", listener: (hadError: boolean) => void): this;
|
|
25
|
+
once(event: "connect", listener: () => void): this;
|
|
26
|
+
once(event: "data", listener: (data: Buffer) => void): this;
|
|
27
|
+
once(event: "end", listener: () => void): this;
|
|
28
|
+
once(event: "error", listener: (err: Error) => void): this;
|
|
29
|
+
once(event: "timeout", listener: () => void): this;
|
|
30
|
+
prependListener(event: "close", listener: (hadError: boolean) => void): this;
|
|
31
|
+
prependListener(event: "connect", listener: () => void): this;
|
|
32
|
+
prependListener(event: "data", listener: (data: Buffer) => void): this;
|
|
33
|
+
prependListener(event: "end", listener: () => void): this;
|
|
34
|
+
prependListener(event: "error", listener: (err: Error) => void): this;
|
|
35
|
+
prependListener(event: "timeout", listener: () => void): this;
|
|
36
|
+
}
|
|
37
|
+
export interface IMockSocket extends ISocketLike {
|
|
11
38
|
invalid?: boolean;
|
|
12
|
-
|
|
39
|
+
write(data: string | Buffer, callback?: (err?: Error) => void | undefined): void;
|
|
13
40
|
destroy(): void;
|
|
14
41
|
end(): void;
|
|
42
|
+
setKeepAlive(enable?: boolean, initialDelay?: number): this;
|
|
43
|
+
setNoDelay(noDelay?: boolean): this;
|
|
44
|
+
setTimeout(timeout: number, callback?: () => void): this;
|
|
15
45
|
}
|
|
16
|
-
export declare function setFakeTransport(mockSocket:
|
|
17
|
-
export declare function getFakeTransport():
|
|
46
|
+
export declare function setFakeTransport(mockSocket: IMockSocket): void;
|
|
47
|
+
export declare function getFakeTransport(): ISocketLike;
|
|
18
48
|
export interface TCP_transport {
|
|
19
49
|
/**
|
|
20
50
|
* notify the observers that a message chunk has been received
|
|
@@ -22,21 +52,13 @@ export interface TCP_transport {
|
|
|
22
52
|
* @param message_chunk the message chunk
|
|
23
53
|
*/
|
|
24
54
|
on(eventName: "chunk", eventHandler: (messageChunk: Buffer) => void): this;
|
|
25
|
-
/**
|
|
26
|
-
* notify the observers that the transport layer has been disconnected.
|
|
27
|
-
* @event socket_closed
|
|
28
|
-
* @param err the Error object or null
|
|
29
|
-
*/
|
|
30
|
-
on(eventName: "socket_closed", eventHandler: (err: Error | null) => void): this;
|
|
31
55
|
/**
|
|
32
56
|
* notify the observers that the transport layer has been disconnected.
|
|
33
57
|
* @event close
|
|
34
58
|
*/
|
|
35
59
|
on(eventName: "close", eventHandler: (err: Error | null) => void): this;
|
|
36
60
|
once(eventName: "chunk", eventHandler: (messageChunk: Buffer) => void): this;
|
|
37
|
-
once(eventName: "socket_closed", eventHandler: (err: Error | null) => void): this;
|
|
38
61
|
once(eventName: "close", eventHandler: (err: Error | null) => void): this;
|
|
39
|
-
emit(eventName: "socket_closed", err?: Error | null): boolean;
|
|
40
62
|
emit(eventName: "close", err?: Error | null): boolean;
|
|
41
63
|
emit(eventName: "chunk", messageChunk: Buffer): boolean;
|
|
42
64
|
}
|
|
@@ -56,21 +78,22 @@ export declare class TCP_transport extends EventEmitter {
|
|
|
56
78
|
chunkWrittenCount: number;
|
|
57
79
|
chunkReadCount: number;
|
|
58
80
|
name: string;
|
|
59
|
-
_socket:
|
|
81
|
+
_socket: ISocketLike | null;
|
|
82
|
+
private _closedEmitted;
|
|
60
83
|
/**
|
|
61
84
|
* the size of the header in bytes
|
|
62
85
|
* @default 8
|
|
63
86
|
*/
|
|
64
87
|
private readonly headerSize;
|
|
65
|
-
private _disconnecting;
|
|
66
88
|
private _timerId;
|
|
67
|
-
private _onSocketClosedHasBeenCalled;
|
|
68
|
-
private _onSocketEndedHasBeenCalled;
|
|
69
89
|
private _theCallback?;
|
|
70
90
|
private _on_error_during_one_time_message_receiver;
|
|
71
91
|
private packetAssembler?;
|
|
72
92
|
private _timeout;
|
|
93
|
+
private _isDisconnecting;
|
|
94
|
+
protected _theCloseError: Error | null;
|
|
73
95
|
constructor();
|
|
96
|
+
toString(): string;
|
|
74
97
|
setLimits({ receiveBufferSize, sendBufferSize, maxMessageSize, maxChunkCount }: {
|
|
75
98
|
receiveBufferSize: number;
|
|
76
99
|
sendBufferSize: number;
|
|
@@ -86,7 +109,7 @@ export declare class TCP_transport extends EventEmitter {
|
|
|
86
109
|
* @param messageChunk
|
|
87
110
|
*/
|
|
88
111
|
write(messageChunk: Buffer, callback?: (err?: Error) => void | undefined): void;
|
|
89
|
-
|
|
112
|
+
isDisconnecting(): boolean;
|
|
90
113
|
/**
|
|
91
114
|
* disconnect the TCP layer and close the underlying socket.
|
|
92
115
|
* The ```"close"``` event will be emitted to the observers with err=null.
|
|
@@ -98,14 +121,8 @@ export declare class TCP_transport extends EventEmitter {
|
|
|
98
121
|
disconnect(callback: ErrorCallback): void;
|
|
99
122
|
isValid(): boolean;
|
|
100
123
|
protected _write_chunk(messageChunk: Buffer, callback?: (err?: Error) => void | undefined): void;
|
|
101
|
-
protected on_socket_ended(err: Error | null): void;
|
|
102
124
|
protected _install_packetAssembler(): void;
|
|
103
|
-
|
|
104
|
-
* @method _install_socket
|
|
105
|
-
* @param socket {Socket}
|
|
106
|
-
* @protected
|
|
107
|
-
*/
|
|
108
|
-
protected _install_socket(socket: Socket): void;
|
|
125
|
+
protected _install_socket(socket: ISocketLike): void;
|
|
109
126
|
sendErrorMessage(statusCode: StatusCode, extraErrorDescription: string | null): void;
|
|
110
127
|
prematureTerminate(err: Error, statusCode: StatusCode): void;
|
|
111
128
|
/**
|
|
@@ -127,10 +144,10 @@ export declare class TCP_transport extends EventEmitter {
|
|
|
127
144
|
private _on_message_chunk_received;
|
|
128
145
|
private _cleanup_timers;
|
|
129
146
|
private _start_one_time_message_receiver;
|
|
130
|
-
private on_socket_closed;
|
|
131
147
|
private _on_socket_data;
|
|
132
148
|
private _on_socket_close;
|
|
133
|
-
|
|
149
|
+
protected _emitClose(err?: Error | null): void;
|
|
134
150
|
private _on_socket_end;
|
|
135
151
|
private _on_socket_error;
|
|
152
|
+
private _on_socket_timeout;
|
|
136
153
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TCP_transport = exports.getFakeTransport = exports.setFakeTransport = void 0;
|
|
4
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
4
5
|
/**
|
|
5
6
|
* @module node-opcua-transport
|
|
6
7
|
*/
|
|
@@ -15,19 +16,38 @@ const message_builder_base_1 = require("./message_builder_base");
|
|
|
15
16
|
const utils_1 = require("./utils");
|
|
16
17
|
const TCPErrorMessage_1 = require("./TCPErrorMessage");
|
|
17
18
|
const tools_1 = require("./tools");
|
|
18
|
-
const debugLog = (0, node_opcua_debug_1.make_debugLog)(
|
|
19
|
-
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)(
|
|
20
|
-
const errorLog = (0, node_opcua_debug_1.make_errorLog)(
|
|
21
|
-
const warningLog = (0, node_opcua_debug_1.make_warningLog)(
|
|
22
|
-
|
|
19
|
+
const debugLog = (0, node_opcua_debug_1.make_debugLog)("TRANSPORT");
|
|
20
|
+
const doDebug = (0, node_opcua_debug_1.checkDebugFlag)("TRANSPORT");
|
|
21
|
+
const errorLog = (0, node_opcua_debug_1.make_errorLog)("TRANSPORT");
|
|
22
|
+
const warningLog = (0, node_opcua_debug_1.make_warningLog)("TRANSPORT");
|
|
23
|
+
const doDebugFlow = false;
|
|
24
|
+
const defaultFakeSocket = {
|
|
23
25
|
invalid: true,
|
|
24
|
-
|
|
26
|
+
destroyed: false,
|
|
27
|
+
destroy(err) {
|
|
28
|
+
this.destroyed = true;
|
|
25
29
|
errorLog("MockSocket.destroy");
|
|
26
30
|
},
|
|
27
31
|
end() {
|
|
28
32
|
errorLog("MockSocket.end");
|
|
33
|
+
},
|
|
34
|
+
write(data, callback) {
|
|
35
|
+
/** */
|
|
36
|
+
if (callback) {
|
|
37
|
+
callback();
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
setKeepAlive(enable, initialDelay) {
|
|
41
|
+
return this;
|
|
42
|
+
},
|
|
43
|
+
setNoDelay(noDelay) {
|
|
44
|
+
return this;
|
|
45
|
+
},
|
|
46
|
+
setTimeout(timeout, callback) {
|
|
47
|
+
return this;
|
|
29
48
|
}
|
|
30
49
|
};
|
|
50
|
+
let fakeSocket = defaultFakeSocket;
|
|
31
51
|
function setFakeTransport(mockSocket) {
|
|
32
52
|
fakeSocket = mockSocket;
|
|
33
53
|
}
|
|
@@ -36,6 +56,7 @@ function getFakeTransport() {
|
|
|
36
56
|
if (fakeSocket.invalid) {
|
|
37
57
|
throw new Error("getFakeTransport: setFakeTransport must be called first - BadProtocolVersionUnsupported");
|
|
38
58
|
}
|
|
59
|
+
process.nextTick(() => fakeSocket.emit("connect"));
|
|
39
60
|
return fakeSocket;
|
|
40
61
|
}
|
|
41
62
|
exports.getFakeTransport = getFakeTransport;
|
|
@@ -44,10 +65,13 @@ let counter = 0;
|
|
|
44
65
|
class TCP_transport extends events_1.EventEmitter {
|
|
45
66
|
constructor() {
|
|
46
67
|
super();
|
|
68
|
+
this._closedEmitted = undefined;
|
|
69
|
+
this._isDisconnecting = false;
|
|
70
|
+
this._theCloseError = null;
|
|
47
71
|
this.name = this.constructor.name + counter;
|
|
48
72
|
counter += 1;
|
|
49
73
|
this._timerId = null;
|
|
50
|
-
this._timeout =
|
|
74
|
+
this._timeout = 5000; // 5 seconds timeout
|
|
51
75
|
this._socket = null;
|
|
52
76
|
this.headerSize = 8;
|
|
53
77
|
this.maxMessageSize = 0;
|
|
@@ -55,16 +79,28 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
55
79
|
this.receiveBufferSize = 0;
|
|
56
80
|
this.sendBufferSize = 0;
|
|
57
81
|
this.protocolVersion = 0;
|
|
58
|
-
this._disconnecting = false;
|
|
59
82
|
this.bytesWritten = 0;
|
|
60
83
|
this.bytesRead = 0;
|
|
61
84
|
this._theCallback = undefined;
|
|
62
85
|
this.chunkWrittenCount = 0;
|
|
63
86
|
this.chunkReadCount = 0;
|
|
64
|
-
this._onSocketClosedHasBeenCalled = false;
|
|
65
|
-
this._onSocketEndedHasBeenCalled = false;
|
|
66
87
|
TCP_transport.registry.register(this);
|
|
67
88
|
}
|
|
89
|
+
toString() {
|
|
90
|
+
let str = "\n";
|
|
91
|
+
str += " name.............. = " + this.name + "\n";
|
|
92
|
+
str += " protocolVersion... = " + this.protocolVersion + "\n";
|
|
93
|
+
str += " maxMessageSize.... = " + this.maxMessageSize + "\n";
|
|
94
|
+
str += " maxChunkCount..... = " + this.maxChunkCount + "\n";
|
|
95
|
+
str += " receiveBufferSize. = " + this.receiveBufferSize + "\n";
|
|
96
|
+
str += " sendBufferSize.... = " + this.sendBufferSize + "\n";
|
|
97
|
+
str += " bytesRead......... = " + this.bytesRead + "\n";
|
|
98
|
+
str += " bytesWritten...... = " + this.bytesWritten + "\n";
|
|
99
|
+
str += " chunkWrittenCount. = " + this.chunkWrittenCount + "\n";
|
|
100
|
+
str += " chunkReadCount.... = " + this.chunkReadCount + "\n";
|
|
101
|
+
str += " closeEmitted ? ....= " + this._closedEmitted + "\n";
|
|
102
|
+
return str;
|
|
103
|
+
}
|
|
68
104
|
setLimits({ receiveBufferSize, sendBufferSize, maxMessageSize, maxChunkCount }) {
|
|
69
105
|
this.receiveBufferSize = receiveBufferSize;
|
|
70
106
|
this.sendBufferSize = sendBufferSize;
|
|
@@ -81,6 +117,7 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
81
117
|
return this._timeout;
|
|
82
118
|
}
|
|
83
119
|
set timeout(value) {
|
|
120
|
+
(0, node_opcua_assert_1.assert)(!this._timerId);
|
|
84
121
|
debugLog("Setting socket " + this.name + " timeout = ", value);
|
|
85
122
|
this._timeout = value;
|
|
86
123
|
}
|
|
@@ -89,7 +126,7 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
89
126
|
(0, node_opcua_assert_1.assert)(!this._timerId);
|
|
90
127
|
if (this._socket) {
|
|
91
128
|
this._socket.destroy();
|
|
92
|
-
this._socket.removeAllListeners();
|
|
129
|
+
// this._socket.removeAllListeners();
|
|
93
130
|
this._socket = null;
|
|
94
131
|
}
|
|
95
132
|
TCP_transport.registry.unregister(this);
|
|
@@ -108,8 +145,8 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
108
145
|
callback && callback(err);
|
|
109
146
|
});
|
|
110
147
|
}
|
|
111
|
-
|
|
112
|
-
return this.
|
|
148
|
+
isDisconnecting() {
|
|
149
|
+
return !this._socket || this._isDisconnecting;
|
|
113
150
|
}
|
|
114
151
|
/**
|
|
115
152
|
* disconnect the TCP layer and close the underlying socket.
|
|
@@ -121,28 +158,27 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
121
158
|
*/
|
|
122
159
|
disconnect(callback) {
|
|
123
160
|
(0, node_opcua_assert_1.assert)(typeof callback === "function", "expecting a callback function, but got " + callback);
|
|
124
|
-
if (this.
|
|
161
|
+
if (!this._socket || this._isDisconnecting) {
|
|
162
|
+
if (!this._isDisconnecting) {
|
|
163
|
+
this.dispose();
|
|
164
|
+
}
|
|
125
165
|
callback();
|
|
126
166
|
return;
|
|
127
167
|
}
|
|
128
|
-
|
|
129
|
-
this._disconnecting = true;
|
|
130
|
-
// xx assert(!this._theCallback,
|
|
131
|
-
// "disconnect shall not be called while the 'one time message receiver' is in operation");
|
|
168
|
+
this._isDisconnecting = true;
|
|
132
169
|
this._cleanup_timers();
|
|
133
|
-
|
|
134
|
-
this.
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
this.on_socket_ended(null);
|
|
140
|
-
setImmediate(() => {
|
|
141
|
-
callback();
|
|
170
|
+
this._socket.prependOnceListener("close", () => {
|
|
171
|
+
this._emitClose(null);
|
|
172
|
+
setImmediate(() => {
|
|
173
|
+
callback();
|
|
174
|
+
});
|
|
142
175
|
});
|
|
176
|
+
this._socket.end();
|
|
177
|
+
this._socket && this._socket.destroy();
|
|
178
|
+
this._socket = null;
|
|
143
179
|
}
|
|
144
180
|
isValid() {
|
|
145
|
-
return this._socket !== null && !this._socket.destroyed
|
|
181
|
+
return this._socket !== null && !this._socket.destroyed;
|
|
146
182
|
}
|
|
147
183
|
_write_chunk(messageChunk, callback) {
|
|
148
184
|
if (this._socket !== null) {
|
|
@@ -156,15 +192,6 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
156
192
|
}
|
|
157
193
|
}
|
|
158
194
|
}
|
|
159
|
-
on_socket_ended(err) {
|
|
160
|
-
if (!this._onSocketEndedHasBeenCalled) {
|
|
161
|
-
this._onSocketEndedHasBeenCalled = true; // we don't want to send close event twice ...
|
|
162
|
-
this.emit("close", err || null);
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
debugLog("on_socket_ended has already been called");
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
195
|
_install_packetAssembler() {
|
|
169
196
|
if (this.packetAssembler) {
|
|
170
197
|
this.packetAssembler.removeAllListeners();
|
|
@@ -190,14 +217,21 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
190
217
|
this.prematureTerminate(new Error("Packet Assembler : " + err.message), statusCode);
|
|
191
218
|
});
|
|
192
219
|
}
|
|
193
|
-
/**
|
|
194
|
-
* @method _install_socket
|
|
195
|
-
* @param socket {Socket}
|
|
196
|
-
* @protected
|
|
197
|
-
*/
|
|
198
220
|
_install_socket(socket) {
|
|
221
|
+
// note: it is possible that a transport may be recycled and re-used again after a connection break
|
|
199
222
|
(0, node_opcua_assert_1.assert)(socket);
|
|
223
|
+
(0, node_opcua_assert_1.assert)(!this._socket, "already have a socket");
|
|
200
224
|
this._socket = socket;
|
|
225
|
+
this._closedEmitted = undefined;
|
|
226
|
+
this._theCloseError = null;
|
|
227
|
+
(0, node_opcua_assert_1.assert)(this._closedEmitted === undefined, "TCP Transport has already been closed !");
|
|
228
|
+
this._socket.setKeepAlive(true);
|
|
229
|
+
// Setting true for noDelay will immediately fire off data each time socket.write() is called.
|
|
230
|
+
this._socket.setNoDelay(true);
|
|
231
|
+
// set socket timeout
|
|
232
|
+
debugLog(" TCP_transport#install => setting " + this.name + " _socket.setTimeout to ", this.timeout);
|
|
233
|
+
// let use a large timeout here to make sure that we not conflict with our internal timeout
|
|
234
|
+
this._socket.setTimeout(this.timeout);
|
|
201
235
|
if (doDebug) {
|
|
202
236
|
debugLog(" TCP_transport#_install_socket ", this.name);
|
|
203
237
|
}
|
|
@@ -205,15 +239,9 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
205
239
|
this._socket
|
|
206
240
|
.on("data", (data) => this._on_socket_data(data))
|
|
207
241
|
.on("close", (hadError) => this._on_socket_close(hadError))
|
|
208
|
-
.on("end", (
|
|
209
|
-
.on("error", (err) => this._on_socket_error(err))
|
|
210
|
-
|
|
211
|
-
debugLog(" TCP_transport#install => setting " + this.name + " _socket.setTimeout to ", this.timeout);
|
|
212
|
-
// let use a large timeout here to make sure that we not conflict with our internal timeout
|
|
213
|
-
this._socket.setTimeout(this.timeout + 2000, () => {
|
|
214
|
-
debugLog(` _socket ${this.name} has timed out (timeout = ${this.timeout})`);
|
|
215
|
-
this.prematureTerminate(new Error("socket timeout : timeout=" + this.timeout), status_codes_1.StatusCodes2.BadTimeout);
|
|
216
|
-
});
|
|
242
|
+
.on("end", () => this._on_socket_end())
|
|
243
|
+
.on("error", (err) => this._on_socket_error(err))
|
|
244
|
+
.on("timeout", () => this._on_socket_timeout());
|
|
217
245
|
}
|
|
218
246
|
sendErrorMessage(statusCode, extraErrorDescription) {
|
|
219
247
|
// When the Client receives an Error Message it reports the error to the application and closes the TransportConnection gracefully.
|
|
@@ -233,18 +261,16 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
233
261
|
}
|
|
234
262
|
prematureTerminate(err, statusCode) {
|
|
235
263
|
// https://reference.opcfoundation.org/v104/Core/docs/Part6/6.7.3/
|
|
236
|
-
debugLog("prematureTerminate", err ? err.message : "", statusCode.toString());
|
|
264
|
+
debugLog("prematureTerminate", err ? err.message : "", statusCode.toString(), "has socket = ", !!this._socket);
|
|
265
|
+
doDebugFlow && console.log("prematureTerminate from", "has socket = ", !!this._socket, new Error().stack);
|
|
237
266
|
if (this._socket) {
|
|
238
267
|
err.message = "premature socket termination " + err.message;
|
|
239
268
|
// we consider this as an error
|
|
240
269
|
const _s = this._socket;
|
|
241
|
-
_s.end();
|
|
242
|
-
_s.destroy(); // new Error("Socket has timed out"));
|
|
243
|
-
_s.emit("error", err);
|
|
244
270
|
this._socket = null;
|
|
271
|
+
_s.destroy(err);
|
|
245
272
|
this.dispose();
|
|
246
273
|
}
|
|
247
|
-
// this.gracefullShutdown(err);
|
|
248
274
|
}
|
|
249
275
|
/**
|
|
250
276
|
* @method _install_one_time_message_receiver
|
|
@@ -263,26 +289,21 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
263
289
|
_install_one_time_message_receiver(callback) {
|
|
264
290
|
(0, node_opcua_assert_1.assert)(!this._theCallback, "callback already set");
|
|
265
291
|
(0, node_opcua_assert_1.assert)(typeof callback === "function");
|
|
266
|
-
this.
|
|
267
|
-
this._start_one_time_message_receiver();
|
|
292
|
+
this._start_one_time_message_receiver(callback);
|
|
268
293
|
}
|
|
269
294
|
_fulfill_pending_promises(err, data) {
|
|
270
|
-
this.
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
this._on_error_during_one_time_message_receiver = null;
|
|
274
|
-
}
|
|
295
|
+
if (!this._theCallback)
|
|
296
|
+
return false;
|
|
297
|
+
doDebugFlow && console.log("_fulfill_pending_promises from", new Error().stack);
|
|
275
298
|
const callback = this._theCallback;
|
|
276
299
|
this._theCallback = undefined;
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
return true;
|
|
280
|
-
}
|
|
281
|
-
return false;
|
|
300
|
+
callback(err, data);
|
|
301
|
+
return true;
|
|
282
302
|
}
|
|
283
303
|
_on_message_chunk_received(messageChunk) {
|
|
284
304
|
if (utils_1.doTraceIncomingChunk) {
|
|
285
|
-
|
|
305
|
+
warningLog("Transport", this.name);
|
|
306
|
+
warningLog((0, node_opcua_debug_1.hexDump)(messageChunk));
|
|
286
307
|
}
|
|
287
308
|
const hadCallback = this._fulfill_pending_promises(null, messageChunk);
|
|
288
309
|
this.chunkReadCount++;
|
|
@@ -296,29 +317,42 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
296
317
|
this._timerId = null;
|
|
297
318
|
}
|
|
298
319
|
}
|
|
299
|
-
_start_one_time_message_receiver() {
|
|
300
|
-
(0, node_opcua_assert_1.assert)(!this._timerId, "timer already started");
|
|
320
|
+
_start_one_time_message_receiver(callback) {
|
|
321
|
+
(0, node_opcua_assert_1.assert)(!this._timerId && !this._on_error_during_one_time_message_receiver, "timer already started");
|
|
322
|
+
const _cleanUp = () => {
|
|
323
|
+
var _a;
|
|
324
|
+
this._cleanup_timers();
|
|
325
|
+
if (this._on_error_during_one_time_message_receiver) {
|
|
326
|
+
(_a = this._socket) === null || _a === void 0 ? void 0 : _a.removeListener("close", this._on_error_during_one_time_message_receiver);
|
|
327
|
+
this._on_error_during_one_time_message_receiver = undefined;
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
const onTimeout = () => {
|
|
331
|
+
_cleanUp();
|
|
332
|
+
this._fulfill_pending_promises(new Error(`Timeout(A) in waiting for data on socket ( timeout was = ${this.timeout} ms)`));
|
|
333
|
+
this.dispose();
|
|
334
|
+
};
|
|
301
335
|
// Setup timeout detection timer ....
|
|
302
336
|
this._timerId = setTimeout(() => {
|
|
303
337
|
this._timerId = null;
|
|
304
|
-
|
|
338
|
+
onTimeout();
|
|
305
339
|
}, this.timeout);
|
|
306
340
|
// also monitored
|
|
307
341
|
if (this._socket) {
|
|
308
342
|
// to do = intercept socket error as well
|
|
309
|
-
this._on_error_during_one_time_message_receiver = (
|
|
310
|
-
|
|
343
|
+
this._on_error_during_one_time_message_receiver = (hadError) => {
|
|
344
|
+
const err = new Error(`ERROR in waiting for data on socket ( timeout was = ${this.timeout} ms) hadError` + hadError);
|
|
345
|
+
this._emitClose(err);
|
|
346
|
+
this._fulfill_pending_promises(err);
|
|
311
347
|
};
|
|
312
|
-
this._socket.
|
|
313
|
-
}
|
|
314
|
-
}
|
|
315
|
-
on_socket_closed(err) {
|
|
316
|
-
if (this._onSocketClosedHasBeenCalled) {
|
|
317
|
-
return;
|
|
348
|
+
this._socket.prependOnceListener("close", this._on_error_during_one_time_message_receiver);
|
|
318
349
|
}
|
|
319
|
-
|
|
320
|
-
this.
|
|
321
|
-
|
|
350
|
+
const _callback = callback;
|
|
351
|
+
this._theCallback = (err, data) => {
|
|
352
|
+
_cleanUp();
|
|
353
|
+
this._theCallback = undefined;
|
|
354
|
+
_callback(err, data);
|
|
355
|
+
};
|
|
322
356
|
}
|
|
323
357
|
_on_socket_data(data) {
|
|
324
358
|
// istanbul ignore next
|
|
@@ -333,46 +367,62 @@ class TCP_transport extends events_1.EventEmitter {
|
|
|
333
367
|
_on_socket_close(hadError) {
|
|
334
368
|
// istanbul ignore next
|
|
335
369
|
if (doDebug) {
|
|
336
|
-
debugLog(chalk.red(
|
|
370
|
+
debugLog(chalk.red(` SOCKET CLOSE ${this.name}: `), chalk.yellow("had_error ="), chalk.cyan(hadError.toString()));
|
|
337
371
|
}
|
|
338
|
-
|
|
339
|
-
|
|
372
|
+
this.dispose();
|
|
373
|
+
if (this._theCallback)
|
|
374
|
+
return;
|
|
375
|
+
// if (hadError) {
|
|
376
|
+
// if (this._socket) {
|
|
377
|
+
// this._socket.destroy();
|
|
378
|
+
// }
|
|
379
|
+
// }
|
|
380
|
+
this._emitClose();
|
|
381
|
+
}
|
|
382
|
+
_emitClose(err) {
|
|
383
|
+
err = err || this._theCloseError;
|
|
384
|
+
doDebugFlow && console.log("_emitClose ", (err === null || err === void 0 ? void 0 : err.message) || "", "from", new Error().stack);
|
|
385
|
+
if (!this._closedEmitted) {
|
|
386
|
+
this._closedEmitted = err || "noError";
|
|
387
|
+
this.emit("close", err || null);
|
|
388
|
+
// if (this._theCallback) {
|
|
389
|
+
// const callback = this._theCallback;
|
|
390
|
+
// this._theCallback = undefined;
|
|
391
|
+
// callback(err || null);
|
|
392
|
+
// }
|
|
340
393
|
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
394
|
+
else {
|
|
395
|
+
debugLog("Already emitted close event", this._closedEmitted.message);
|
|
396
|
+
debugLog("err = ", err === null || err === void 0 ? void 0 : err.message);
|
|
397
|
+
debugLog("");
|
|
398
|
+
debugLog("Already emitted close event", this._closedEmitted);
|
|
399
|
+
debugLog("err = ", err === null || err === void 0 ? void 0 : err.message, err);
|
|
345
400
|
}
|
|
346
|
-
const err = hadError ? new Error("ERROR IN SOCKET " + hadError.toString()) : undefined;
|
|
347
|
-
this.on_socket_closed(err);
|
|
348
|
-
this.dispose();
|
|
349
401
|
}
|
|
350
|
-
|
|
351
|
-
|
|
402
|
+
_on_socket_end() {
|
|
403
|
+
// istanbul ignore next
|
|
404
|
+
doDebug && debugLog(chalk.red(` SOCKET END : ${this.name}`), "is disconnecting ", this.isDisconnecting());
|
|
405
|
+
if (this.isDisconnecting()) {
|
|
352
406
|
return;
|
|
353
407
|
}
|
|
354
|
-
|
|
355
|
-
(
|
|
356
|
-
err =
|
|
357
|
-
this.on_socket_ended(err);
|
|
358
|
-
this._disconnecting = true;
|
|
408
|
+
//
|
|
409
|
+
debugLog(chalk.red(" Transport Connection ended") + " " + this.name);
|
|
410
|
+
const err = new Error(this.name + ": socket has been disconnected by third party");
|
|
359
411
|
debugLog(" bytesRead = ", this.bytesRead);
|
|
360
412
|
debugLog(" bytesWritten = ", this.bytesWritten);
|
|
413
|
+
this._theCloseError = err;
|
|
361
414
|
this._fulfill_pending_promises(new Error("Connection aborted - ended by server : " + (err ? err.message : "")));
|
|
362
415
|
}
|
|
363
|
-
_on_socket_end(err) {
|
|
364
|
-
// istanbul ignore next
|
|
365
|
-
if (doDebug) {
|
|
366
|
-
debugLog(chalk.red(" SOCKET END : err="), chalk.yellow(err ? err.message : "null"), this.name);
|
|
367
|
-
}
|
|
368
|
-
this._on_socket_ended_message(err);
|
|
369
|
-
}
|
|
370
416
|
_on_socket_error(err) {
|
|
371
417
|
// istanbul ignore next
|
|
372
|
-
|
|
373
|
-
debugLog(chalk.red(" SOCKET ERROR : "), chalk.yellow(err.message), this.name);
|
|
374
|
-
}
|
|
418
|
+
debugLog(chalk.red(` _on_socket_error: ${this.name}`), chalk.yellow(err.message));
|
|
375
419
|
// node The "close" event will be called directly following this event.
|
|
420
|
+
// this._emitClose(err);
|
|
421
|
+
}
|
|
422
|
+
_on_socket_timeout() {
|
|
423
|
+
const msg = `socket timeout : timeout=${this.timeout} ${this.name}`;
|
|
424
|
+
doDebug && debugLog(msg);
|
|
425
|
+
this.prematureTerminate(new Error(msg), status_codes_1.StatusCodes2.BadTimeout);
|
|
376
426
|
}
|
|
377
427
|
}
|
|
378
428
|
TCP_transport.registry = new node_opcua_object_registry_1.ObjectRegistry();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tcp_transport.js","sourceRoot":"","sources":["../../source/tcp_transport.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tcp_transport.js","sourceRoot":"","sources":["../../source/tcp_transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITransportPair.js","sourceRoot":"","sources":["../../test_helpers/ITransportPair.ts"],"names":[],"mappings":""}
|