node-opcua-transport 2.128.0 → 2.129.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 +1 -0
- package/dist/source/client_tcp_transport.js +1 -2
- package/dist/source/client_tcp_transport.js.map +1 -1
- package/dist/source/message_builder_base.d.ts +4 -16
- package/dist/source/message_builder_base.js +135 -124
- package/dist/source/message_builder_base.js.map +1 -1
- package/dist/source/server_tcp_transport.d.ts +1 -0
- package/dist/source/server_tcp_transport.js +2 -2
- package/dist/source/server_tcp_transport.js.map +1 -1
- package/dist/source/tcp_transport.d.ts +8 -13
- package/dist/source/tcp_transport.js +98 -76
- package/dist/source/tcp_transport.js.map +1 -1
- package/dist/source/tools.d.ts +2 -0
- package/dist/source/tools.js +6 -5
- package/dist/source/tools.js.map +1 -1
- package/dist/test-fixtures/fixture_full_tcp_packets.d.ts +1 -0
- package/dist/test_helpers/fake_server.d.ts +3 -0
- package/dist/test_helpers/half_com_channel.d.ts +2 -0
- package/dist/test_helpers/half_com_channel.js.map +1 -1
- package/dist/test_helpers/transport_pair_direct.d.ts +1 -0
- package/dist/test_helpers/transport_pair_socket.d.ts +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/source/client_tcp_transport.ts +1 -5
- package/source/message_builder_base.ts +44 -46
- package/source/tcp_transport.ts +62 -62
|
@@ -118,8 +118,6 @@ class ClientTCP_transport extends tcp_transport_1.TCP_transport {
|
|
|
118
118
|
super.dispose();
|
|
119
119
|
}
|
|
120
120
|
connect(endpointUrl, callback) {
|
|
121
|
-
(0, node_opcua_assert_1.assert)(arguments.length === 2);
|
|
122
|
-
(0, node_opcua_assert_1.assert)(typeof callback === "function");
|
|
123
121
|
const ep = (0, tools_1.parseEndpointUrl)(endpointUrl);
|
|
124
122
|
this.endpointUrl = endpointUrl;
|
|
125
123
|
this.serverUri = "urn:" + gHostname + ":Sample";
|
|
@@ -154,6 +152,7 @@ class ClientTCP_transport extends tcp_transport_1.TCP_transport {
|
|
|
154
152
|
* @event connection_break
|
|
155
153
|
*
|
|
156
154
|
*/
|
|
155
|
+
console.log("connection_break", endpointUrl);
|
|
157
156
|
this.emit("connection_break");
|
|
158
157
|
}
|
|
159
158
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client_tcp_transport.js","sourceRoot":"","sources":["../../source/client_tcp_transport.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client_tcp_transport.js","sourceRoot":"","sources":["../../source/client_tcp_transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
1
3
|
/**
|
|
2
4
|
* @module node-opcua-transport
|
|
3
5
|
*/
|
|
4
6
|
import { EventEmitter } from "events";
|
|
5
7
|
import { BinaryStream } from "node-opcua-binary-stream";
|
|
6
8
|
import { SequenceHeader } from "node-opcua-chunkmanager";
|
|
7
|
-
import { MessageHeader,
|
|
9
|
+
import { MessageHeader, PacketInfo } from "node-opcua-packet-assembler";
|
|
8
10
|
import { StatusCode } from "node-opcua-status-code";
|
|
9
11
|
export declare function readRawMessageHeader(data: Buffer): PacketInfo;
|
|
10
12
|
export interface MessageBuilderBaseOptions {
|
|
@@ -63,6 +65,7 @@ export interface MessageBuilderBase {
|
|
|
63
65
|
*
|
|
64
66
|
*/
|
|
65
67
|
export declare class MessageBuilderBase extends EventEmitter {
|
|
68
|
+
#private;
|
|
66
69
|
static defaultMaxChunkCount: number;
|
|
67
70
|
static defaultMaxMessageSize: number;
|
|
68
71
|
static defaultMaxChunkSize: number;
|
|
@@ -71,7 +74,6 @@ export declare class MessageBuilderBase extends EventEmitter {
|
|
|
71
74
|
readonly maxChunkCount: number;
|
|
72
75
|
readonly maxChunkSize: number;
|
|
73
76
|
readonly options: MessageBuilderBaseOptions;
|
|
74
|
-
readonly _packetAssembler: PacketAssembler;
|
|
75
77
|
channelId: number;
|
|
76
78
|
totalMessageSize: number;
|
|
77
79
|
sequenceHeader: SequenceHeader | null;
|
|
@@ -81,11 +83,6 @@ export declare class MessageBuilderBase extends EventEmitter {
|
|
|
81
83
|
protected totalBodySize: number;
|
|
82
84
|
protected messageChunks: Buffer[];
|
|
83
85
|
protected messageHeader?: MessageHeader;
|
|
84
|
-
private _securityDefeated;
|
|
85
|
-
private _hasReceivedError;
|
|
86
|
-
private blocks;
|
|
87
|
-
private readonly _expectedChannelId;
|
|
88
|
-
private offsetBodyStart;
|
|
89
86
|
constructor(options?: MessageBuilderBaseOptions);
|
|
90
87
|
dispose(): void;
|
|
91
88
|
/**
|
|
@@ -98,13 +95,4 @@ export declare class MessageBuilderBase extends EventEmitter {
|
|
|
98
95
|
protected _read_headers(binaryStream: BinaryStream): boolean;
|
|
99
96
|
protected _report_abandon(channelId: number, tokenId: number, sequenceHeader: SequenceHeader): false;
|
|
100
97
|
protected _report_error(statusCode: StatusCode, errorMessage: string): false;
|
|
101
|
-
private _init_new;
|
|
102
|
-
/**
|
|
103
|
-
* append a message chunk
|
|
104
|
-
* @method _append
|
|
105
|
-
* @param chunk
|
|
106
|
-
* @private
|
|
107
|
-
*/
|
|
108
|
-
private _append;
|
|
109
|
-
private _feed_messageChunk;
|
|
110
98
|
}
|
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _MessageBuilderBase_instances, _MessageBuilderBase__packetAssembler, _MessageBuilderBase__securityDefeated, _MessageBuilderBase__hasReceivedError, _MessageBuilderBase_blocks, _MessageBuilderBase__expectedChannelId, _MessageBuilderBase_offsetBodyStart, _MessageBuilderBase__init_new, _MessageBuilderBase__append, _MessageBuilderBase__feed_messageChunk;
|
|
2
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MessageBuilderBase = void 0;
|
|
4
|
-
exports.readRawMessageHeader = readRawMessageHeader;
|
|
15
|
+
exports.MessageBuilderBase = exports.readRawMessageHeader = void 0;
|
|
5
16
|
/**
|
|
6
17
|
* @module node-opcua-transport
|
|
7
18
|
*/
|
|
@@ -27,6 +38,7 @@ function readRawMessageHeader(data) {
|
|
|
27
38
|
messageHeader
|
|
28
39
|
};
|
|
29
40
|
}
|
|
41
|
+
exports.readRawMessageHeader = readRawMessageHeader;
|
|
30
42
|
/**
|
|
31
43
|
* @class MessageBuilderBase
|
|
32
44
|
* @extends EventEmitter
|
|
@@ -39,13 +51,20 @@ function readRawMessageHeader(data) {
|
|
|
39
51
|
class MessageBuilderBase extends events_1.EventEmitter {
|
|
40
52
|
constructor(options) {
|
|
41
53
|
super();
|
|
54
|
+
_MessageBuilderBase_instances.add(this);
|
|
55
|
+
_MessageBuilderBase__packetAssembler.set(this, void 0);
|
|
56
|
+
_MessageBuilderBase__securityDefeated.set(this, void 0);
|
|
57
|
+
_MessageBuilderBase__hasReceivedError.set(this, void 0);
|
|
58
|
+
_MessageBuilderBase_blocks.set(this, void 0);
|
|
59
|
+
_MessageBuilderBase__expectedChannelId.set(this, void 0);
|
|
60
|
+
_MessageBuilderBase_offsetBodyStart.set(this, void 0);
|
|
42
61
|
this.id = "";
|
|
43
62
|
this._tick0 = 0;
|
|
44
63
|
this._tick1 = 0;
|
|
45
|
-
this
|
|
46
|
-
this
|
|
64
|
+
__classPrivateFieldSet(this, _MessageBuilderBase__hasReceivedError, false, "f");
|
|
65
|
+
__classPrivateFieldSet(this, _MessageBuilderBase_blocks, [], "f");
|
|
47
66
|
this.messageChunks = [];
|
|
48
|
-
this
|
|
67
|
+
__classPrivateFieldSet(this, _MessageBuilderBase__expectedChannelId, 0, "f");
|
|
49
68
|
options = options || {
|
|
50
69
|
maxMessageSize: 0,
|
|
51
70
|
maxChunkCount: 0,
|
|
@@ -56,30 +75,30 @@ class MessageBuilderBase extends events_1.EventEmitter {
|
|
|
56
75
|
this.maxChunkCount = options.maxChunkCount || MessageBuilderBase.defaultMaxChunkCount;
|
|
57
76
|
this.maxChunkSize = options.maxChunkSize || MessageBuilderBase.defaultMaxChunkSize;
|
|
58
77
|
this.options = options;
|
|
59
|
-
this
|
|
78
|
+
__classPrivateFieldSet(this, _MessageBuilderBase__packetAssembler, new node_opcua_packet_assembler_1.PacketAssembler({
|
|
60
79
|
minimumSizeInBytes: 8,
|
|
61
80
|
maxChunkSize: this.maxChunkSize,
|
|
62
81
|
readChunkFunc: readRawMessageHeader
|
|
63
|
-
});
|
|
64
|
-
this.
|
|
65
|
-
this.
|
|
82
|
+
}), "f");
|
|
83
|
+
__classPrivateFieldGet(this, _MessageBuilderBase__packetAssembler, "f").on("chunk", (messageChunk) => __classPrivateFieldGet(this, _MessageBuilderBase_instances, "m", _MessageBuilderBase__feed_messageChunk).call(this, messageChunk));
|
|
84
|
+
__classPrivateFieldGet(this, _MessageBuilderBase__packetAssembler, "f").on("startChunk", (info, data) => {
|
|
66
85
|
if (doPerfMonitoring) {
|
|
67
86
|
// record tick 0: when the first data is received
|
|
68
87
|
this._tick0 = (0, node_opcua_utils_1.get_clock_tick)();
|
|
69
88
|
}
|
|
70
89
|
this.emit("startChunk", info, data);
|
|
71
90
|
});
|
|
72
|
-
this.
|
|
91
|
+
__classPrivateFieldGet(this, _MessageBuilderBase__packetAssembler, "f").on("error", (err) => {
|
|
73
92
|
warningLog("packet assembler ", err.message);
|
|
74
93
|
return this._report_error(status_codes_1.StatusCodes2.BadTcpMessageTooLarge, "packet assembler: " + err.message);
|
|
75
94
|
});
|
|
76
|
-
this
|
|
95
|
+
__classPrivateFieldSet(this, _MessageBuilderBase__securityDefeated, false, "f");
|
|
77
96
|
this.totalBodySize = 0;
|
|
78
97
|
this.totalMessageSize = 0;
|
|
79
98
|
this.channelId = 0;
|
|
80
|
-
this
|
|
99
|
+
__classPrivateFieldSet(this, _MessageBuilderBase_offsetBodyStart, 0, "f");
|
|
81
100
|
this.sequenceHeader = null;
|
|
82
|
-
this.
|
|
101
|
+
__classPrivateFieldGet(this, _MessageBuilderBase_instances, "m", _MessageBuilderBase__init_new).call(this);
|
|
83
102
|
}
|
|
84
103
|
dispose() {
|
|
85
104
|
this.removeAllListeners();
|
|
@@ -90,8 +109,8 @@ class MessageBuilderBase extends events_1.EventEmitter {
|
|
|
90
109
|
* @param data
|
|
91
110
|
*/
|
|
92
111
|
feed(data) {
|
|
93
|
-
if (!this
|
|
94
|
-
this.
|
|
112
|
+
if (!__classPrivateFieldGet(this, _MessageBuilderBase__securityDefeated, "f") && !__classPrivateFieldGet(this, _MessageBuilderBase__hasReceivedError, "f")) {
|
|
113
|
+
__classPrivateFieldGet(this, _MessageBuilderBase__packetAssembler, "f").feed(data);
|
|
95
114
|
}
|
|
96
115
|
}
|
|
97
116
|
_decodeMessageBody(fullMessageBody) {
|
|
@@ -100,11 +119,11 @@ class MessageBuilderBase extends events_1.EventEmitter {
|
|
|
100
119
|
_read_headers(binaryStream) {
|
|
101
120
|
try {
|
|
102
121
|
this.messageHeader = (0, node_opcua_chunkmanager_1.readMessageHeader)(binaryStream);
|
|
103
|
-
|
|
122
|
+
// assert(binaryStream.length === 8, "expecting message header to be 8 bytes");
|
|
104
123
|
this.channelId = binaryStream.readUInt32();
|
|
105
|
-
|
|
124
|
+
// assert(binaryStream.length === 12);
|
|
106
125
|
// verifying secure ChannelId
|
|
107
|
-
if (this
|
|
126
|
+
if (__classPrivateFieldGet(this, _MessageBuilderBase__expectedChannelId, "f") && this.channelId !== __classPrivateFieldGet(this, _MessageBuilderBase__expectedChannelId, "f")) {
|
|
108
127
|
return this._report_error(status_codes_1.StatusCodes2.BadTcpSecureChannelUnknown, "Invalid secure channel Id");
|
|
109
128
|
}
|
|
110
129
|
return true;
|
|
@@ -116,128 +135,120 @@ class MessageBuilderBase extends events_1.EventEmitter {
|
|
|
116
135
|
_report_abandon(channelId, tokenId, sequenceHeader) {
|
|
117
136
|
// the server has not been able to send a complete message and has abandoned the request
|
|
118
137
|
// the connection can probably continue
|
|
119
|
-
this
|
|
138
|
+
__classPrivateFieldSet(this, _MessageBuilderBase__hasReceivedError, false, "f"); ///
|
|
120
139
|
this.emit("abandon", sequenceHeader.requestId);
|
|
121
140
|
return false;
|
|
122
141
|
}
|
|
123
142
|
_report_error(statusCode, errorMessage) {
|
|
124
|
-
this
|
|
125
|
-
|
|
143
|
+
__classPrivateFieldSet(this, _MessageBuilderBase__hasReceivedError, true, "f");
|
|
144
|
+
errorLog("Error ", this.id, errorMessage);
|
|
126
145
|
// xx errorLog(new Error());
|
|
127
146
|
this.emit("error", new Error(errorMessage), statusCode, this.sequenceHeader?.requestId || null);
|
|
128
147
|
return false;
|
|
129
148
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
149
|
+
}
|
|
150
|
+
exports.MessageBuilderBase = MessageBuilderBase;
|
|
151
|
+
_MessageBuilderBase__packetAssembler = new WeakMap(), _MessageBuilderBase__securityDefeated = new WeakMap(), _MessageBuilderBase__hasReceivedError = new WeakMap(), _MessageBuilderBase_blocks = new WeakMap(), _MessageBuilderBase__expectedChannelId = new WeakMap(), _MessageBuilderBase_offsetBodyStart = new WeakMap(), _MessageBuilderBase_instances = new WeakSet(), _MessageBuilderBase__init_new = function _MessageBuilderBase__init_new() {
|
|
152
|
+
__classPrivateFieldSet(this, _MessageBuilderBase__securityDefeated, false, "f");
|
|
153
|
+
__classPrivateFieldSet(this, _MessageBuilderBase__hasReceivedError, false, "f");
|
|
154
|
+
this.totalBodySize = 0;
|
|
155
|
+
this.totalMessageSize = 0;
|
|
156
|
+
__classPrivateFieldSet(this, _MessageBuilderBase_blocks, [], "f");
|
|
157
|
+
this.messageChunks = [];
|
|
158
|
+
}, _MessageBuilderBase__append = function _MessageBuilderBase__append(chunk) {
|
|
159
|
+
if (__classPrivateFieldGet(this, _MessageBuilderBase__hasReceivedError, "f")) {
|
|
160
|
+
// the message builder is in error mode and further message chunks should be discarded.
|
|
161
|
+
return false;
|
|
137
162
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
* @method _append
|
|
141
|
-
* @param chunk
|
|
142
|
-
* @private
|
|
143
|
-
*/
|
|
144
|
-
_append(chunk) {
|
|
145
|
-
if (this._hasReceivedError) {
|
|
146
|
-
// the message builder is in error mode and further message chunks should be discarded.
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
if (this.messageChunks.length + 1 > this.maxChunkCount) {
|
|
150
|
-
return this._report_error(status_codes_1.StatusCodes2.BadTcpMessageTooLarge, `max chunk count exceeded: ${this.maxChunkCount}`);
|
|
151
|
-
}
|
|
152
|
-
this.messageChunks.push(chunk);
|
|
153
|
-
this.totalMessageSize += chunk.length;
|
|
154
|
-
if (this.totalMessageSize > this.maxMessageSize) {
|
|
155
|
-
return this._report_error(status_codes_1.StatusCodes2.BadTcpMessageTooLarge, `max message size exceeded: ${this.maxMessageSize} : total message size ${this.totalMessageSize}`);
|
|
156
|
-
}
|
|
157
|
-
const binaryStream = new node_opcua_binary_stream_1.BinaryStream(chunk);
|
|
158
|
-
if (!this._read_headers(binaryStream)) {
|
|
159
|
-
return this._report_error(status_codes_1.StatusCodes2.BadTcpInternalError, `Invalid message header detected`);
|
|
160
|
-
}
|
|
161
|
-
(0, node_opcua_assert_1.assert)(binaryStream.length >= 12);
|
|
162
|
-
// verify message chunk length
|
|
163
|
-
if (this.messageHeader.length !== chunk.length) {
|
|
164
|
-
// tslint:disable:max-line-length
|
|
165
|
-
return this._report_error(status_codes_1.StatusCodes2.BadTcpInternalError, `Invalid messageChunk size: the provided chunk is ${chunk.length} bytes long but header specifies ${this.messageHeader.length}`);
|
|
166
|
-
}
|
|
167
|
-
// the start of the message body block
|
|
168
|
-
const offsetBodyStart = binaryStream.length;
|
|
169
|
-
// the end of the message body block
|
|
170
|
-
const offsetBodyEnd = binaryStream.buffer.length;
|
|
171
|
-
this.totalBodySize += offsetBodyEnd - offsetBodyStart;
|
|
172
|
-
this.offsetBodyStart = offsetBodyStart;
|
|
173
|
-
// add message body to a queue
|
|
174
|
-
// note : Buffer.slice create a shared memory !
|
|
175
|
-
// use Buffer.clone
|
|
176
|
-
const sharedBuffer = chunk.subarray(this.offsetBodyStart, offsetBodyEnd);
|
|
177
|
-
const clonedBuffer = (0, node_opcua_buffer_utils_1.createFastUninitializedBuffer)(sharedBuffer.length);
|
|
178
|
-
sharedBuffer.copy(clonedBuffer, 0, 0);
|
|
179
|
-
this.blocks.push(clonedBuffer);
|
|
180
|
-
return true;
|
|
163
|
+
if (this.messageChunks.length + 1 > this.maxChunkCount) {
|
|
164
|
+
return this._report_error(status_codes_1.StatusCodes2.BadTcpMessageTooLarge, `max chunk count exceeded: ${this.maxChunkCount}`);
|
|
181
165
|
}
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
this.
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
166
|
+
this.messageChunks.push(chunk);
|
|
167
|
+
this.totalMessageSize += chunk.length;
|
|
168
|
+
if (this.totalMessageSize > this.maxMessageSize) {
|
|
169
|
+
return this._report_error(status_codes_1.StatusCodes2.BadTcpMessageTooLarge, `max message size exceeded: ${this.maxMessageSize} : total message size ${this.totalMessageSize}`);
|
|
170
|
+
}
|
|
171
|
+
const binaryStream = new node_opcua_binary_stream_1.BinaryStream(chunk);
|
|
172
|
+
if (!this._read_headers(binaryStream)) {
|
|
173
|
+
return false; // error already reported
|
|
174
|
+
}
|
|
175
|
+
(0, node_opcua_assert_1.assert)(binaryStream.length >= 12);
|
|
176
|
+
// verify message chunk length
|
|
177
|
+
if (this.messageHeader.length !== chunk.length) {
|
|
178
|
+
// tslint:disable:max-line-length
|
|
179
|
+
return this._report_error(status_codes_1.StatusCodes2.BadTcpInternalError, `Invalid messageChunk size: the provided chunk is ${chunk.length} bytes long but header specifies ${this.messageHeader.length}`);
|
|
180
|
+
}
|
|
181
|
+
// the start of the message body block
|
|
182
|
+
const offsetBodyStart = binaryStream.length;
|
|
183
|
+
// the end of the message body block
|
|
184
|
+
const offsetBodyEnd = binaryStream.buffer.length;
|
|
185
|
+
this.totalBodySize += offsetBodyEnd - offsetBodyStart;
|
|
186
|
+
__classPrivateFieldSet(this, _MessageBuilderBase_offsetBodyStart, offsetBodyStart, "f");
|
|
187
|
+
// add message body to a queue
|
|
188
|
+
// note : Buffer.slice create a shared memory !
|
|
189
|
+
// use Buffer.clone
|
|
190
|
+
const sharedBuffer = chunk.subarray(__classPrivateFieldGet(this, _MessageBuilderBase_offsetBodyStart, "f"), offsetBodyEnd);
|
|
191
|
+
const clonedBuffer = (0, node_opcua_buffer_utils_1.createFastUninitializedBuffer)(sharedBuffer.length);
|
|
192
|
+
sharedBuffer.copy(clonedBuffer, 0, 0);
|
|
193
|
+
__classPrivateFieldGet(this, _MessageBuilderBase_blocks, "f").push(clonedBuffer);
|
|
194
|
+
return true;
|
|
195
|
+
}, _MessageBuilderBase__feed_messageChunk = function _MessageBuilderBase__feed_messageChunk(chunk) {
|
|
196
|
+
(0, node_opcua_assert_1.assert)(chunk);
|
|
197
|
+
const messageHeader = (0, node_opcua_chunkmanager_1.readMessageHeader)(new node_opcua_binary_stream_1.BinaryStream(chunk));
|
|
198
|
+
this.emit("chunk", chunk);
|
|
199
|
+
if (messageHeader.isFinal === "F") {
|
|
200
|
+
if (messageHeader.msgType === "ERR") {
|
|
201
|
+
const binaryStream = new node_opcua_binary_stream_1.BinaryStream(chunk);
|
|
202
|
+
binaryStream.length = 8;
|
|
203
|
+
const errorCode = (0, node_opcua_basic_types_1.decodeStatusCode)(binaryStream);
|
|
204
|
+
const message = (0, node_opcua_basic_types_1.decodeString)(binaryStream);
|
|
205
|
+
this._report_error(errorCode, message || "Error message not specified");
|
|
206
|
+
return true;
|
|
212
207
|
}
|
|
213
|
-
else
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
(0, node_opcua_assert_1.assert)(stream.length === 8);
|
|
219
|
-
// instead of
|
|
220
|
-
// const securityHeader = new SymmetricAlgorithmSecurityHeader();
|
|
221
|
-
// securityHeader.decode(stream);
|
|
222
|
-
const channelId = stream.readUInt32();
|
|
223
|
-
const tokenId = (0, node_opcua_basic_types_1.decodeUInt32)(stream);
|
|
224
|
-
const sequenceHeader = new node_opcua_chunkmanager_1.SequenceHeader();
|
|
225
|
-
sequenceHeader.decode(stream);
|
|
226
|
-
return this._report_abandon(channelId, tokenId, sequenceHeader);
|
|
208
|
+
else {
|
|
209
|
+
__classPrivateFieldGet(this, _MessageBuilderBase_instances, "m", _MessageBuilderBase__append).call(this, chunk);
|
|
210
|
+
// last message
|
|
211
|
+
if (__classPrivateFieldGet(this, _MessageBuilderBase__hasReceivedError, "f")) {
|
|
212
|
+
return false;
|
|
227
213
|
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
214
|
+
const fullMessageBody = __classPrivateFieldGet(this, _MessageBuilderBase_blocks, "f").length === 1 ? __classPrivateFieldGet(this, _MessageBuilderBase_blocks, "f")[0] : Buffer.concat(__classPrivateFieldGet(this, _MessageBuilderBase_blocks, "f"));
|
|
215
|
+
if (doPerfMonitoring) {
|
|
216
|
+
// record tick 1: when a complete message has been received ( all chunks assembled)
|
|
217
|
+
this._tick1 = (0, node_opcua_utils_1.get_clock_tick)();
|
|
232
218
|
}
|
|
219
|
+
this.emit("full_message_body", fullMessageBody);
|
|
220
|
+
const messageOk = this._decodeMessageBody(fullMessageBody);
|
|
221
|
+
// be ready for next block
|
|
222
|
+
__classPrivateFieldGet(this, _MessageBuilderBase_instances, "m", _MessageBuilderBase__init_new).call(this);
|
|
223
|
+
return messageOk;
|
|
233
224
|
}
|
|
234
|
-
|
|
235
|
-
|
|
225
|
+
}
|
|
226
|
+
else if (messageHeader.isFinal === "A") {
|
|
227
|
+
try {
|
|
228
|
+
// only valid for MSG, according to spec
|
|
229
|
+
const stream = new node_opcua_binary_stream_1.BinaryStream(chunk);
|
|
230
|
+
(0, node_opcua_chunkmanager_1.readMessageHeader)(stream);
|
|
231
|
+
(0, node_opcua_assert_1.assert)(stream.length === 8);
|
|
232
|
+
// instead of
|
|
233
|
+
// const securityHeader = new SymmetricAlgorithmSecurityHeader();
|
|
234
|
+
// securityHeader.decode(stream);
|
|
235
|
+
const channelId = stream.readUInt32();
|
|
236
|
+
const tokenId = (0, node_opcua_basic_types_1.decodeUInt32)(stream);
|
|
237
|
+
const sequenceHeader = new node_opcua_chunkmanager_1.SequenceHeader();
|
|
238
|
+
sequenceHeader.decode(stream);
|
|
239
|
+
return this._report_abandon(channelId, tokenId, sequenceHeader);
|
|
240
|
+
}
|
|
241
|
+
catch (err) {
|
|
242
|
+
warningLog((0, node_opcua_debug_1.hexDump)(chunk));
|
|
243
|
+
warningLog("Cannot interpret message chunk: ", err.message);
|
|
244
|
+
return this._report_error(status_codes_1.StatusCodes2.BadTcpInternalError, "Error decoding message header " + err.message);
|
|
236
245
|
}
|
|
237
|
-
return false;
|
|
238
246
|
}
|
|
239
|
-
|
|
240
|
-
|
|
247
|
+
else if (messageHeader.isFinal === "C") {
|
|
248
|
+
return __classPrivateFieldGet(this, _MessageBuilderBase_instances, "m", _MessageBuilderBase__append).call(this, chunk);
|
|
249
|
+
}
|
|
250
|
+
return false;
|
|
251
|
+
};
|
|
241
252
|
MessageBuilderBase.defaultMaxChunkCount = 1000;
|
|
242
253
|
MessageBuilderBase.defaultMaxMessageSize = 1024 * 64 * 1024; // 64Mo
|
|
243
254
|
MessageBuilderBase.defaultMaxChunkSize = 1024 * 8;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message_builder_base.js","sourceRoot":"","sources":["../../source/message_builder_base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"message_builder_base.js","sourceRoot":"","sources":["../../source/message_builder_base.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,8 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.ServerTCP_transport = void 0;
|
|
7
|
-
exports.adjustLimitsWithParameters = adjustLimitsWithParameters;
|
|
6
|
+
exports.ServerTCP_transport = exports.adjustLimitsWithParameters = void 0;
|
|
8
7
|
/**
|
|
9
8
|
* @module node-opcua-transport
|
|
10
9
|
*/
|
|
@@ -70,6 +69,7 @@ function adjustLimitsWithParameters(helloMessage, params) {
|
|
|
70
69
|
maxChunkCount
|
|
71
70
|
};
|
|
72
71
|
}
|
|
72
|
+
exports.adjustLimitsWithParameters = adjustLimitsWithParameters;
|
|
73
73
|
const defaultAdjustLimits = (hello) => adjustLimitsWithParameters(hello, defaultTransportParameters);
|
|
74
74
|
/**
|
|
75
75
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server_tcp_transport.js","sourceRoot":"","sources":["../../source/server_tcp_transport.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"server_tcp_transport.js","sourceRoot":"","sources":["../../source/server_tcp_transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
1
3
|
/**
|
|
2
4
|
* @module node-opcua-transport
|
|
3
5
|
*/
|
|
@@ -61,7 +63,13 @@ export interface TCP_transport {
|
|
|
61
63
|
emit(eventName: "chunk", messageChunk: Buffer): boolean;
|
|
62
64
|
}
|
|
63
65
|
export declare class TCP_transport extends EventEmitter {
|
|
66
|
+
#private;
|
|
64
67
|
private static registry;
|
|
68
|
+
/**
|
|
69
|
+
* the size of the header in bytes
|
|
70
|
+
* @default 8
|
|
71
|
+
*/
|
|
72
|
+
static readonly headerSize = 8;
|
|
65
73
|
/**
|
|
66
74
|
* indicates the version number of the OPCUA protocol used
|
|
67
75
|
* @default 0
|
|
@@ -77,18 +85,6 @@ export declare class TCP_transport extends EventEmitter {
|
|
|
77
85
|
chunkReadCount: number;
|
|
78
86
|
name: string;
|
|
79
87
|
_socket: ISocketLike | null;
|
|
80
|
-
private _closedEmitted;
|
|
81
|
-
/**
|
|
82
|
-
* the size of the header in bytes
|
|
83
|
-
* @default 8
|
|
84
|
-
*/
|
|
85
|
-
private readonly headerSize;
|
|
86
|
-
private _timerId;
|
|
87
|
-
private _theCallback?;
|
|
88
|
-
private _on_error_during_one_time_message_receiver;
|
|
89
|
-
private packetAssembler?;
|
|
90
|
-
private _timeout;
|
|
91
|
-
private _isDisconnecting;
|
|
92
88
|
protected _theCloseError: Error | null;
|
|
93
89
|
constructor();
|
|
94
90
|
toString(): string;
|
|
@@ -119,7 +115,6 @@ export declare class TCP_transport extends EventEmitter {
|
|
|
119
115
|
disconnect(callback: ErrorCallback): void;
|
|
120
116
|
isValid(): boolean;
|
|
121
117
|
protected _write_chunk(messageChunk: Buffer, callback?: (err?: Error) => void | undefined): void;
|
|
122
|
-
protected _install_packetAssembler(): void;
|
|
123
118
|
protected _install_socket(socket: ISocketLike): void;
|
|
124
119
|
sendErrorMessage(statusCode: StatusCode, extraErrorDescription: string | null): void;
|
|
125
120
|
prematureTerminate(err: Error, statusCode: StatusCode): void;
|