node-opcua-transport 2.55.0 → 2.59.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.
Files changed (43) hide show
  1. package/.mocharc.yml +10 -10
  2. package/LICENSE +20 -20
  3. package/dist/source/AcknowledgeMessage.js +5 -5
  4. package/dist/source/AcknowledgeMessage.js.map +1 -1
  5. package/dist/source/TCPErrorMessage.js.map +1 -1
  6. package/dist/source/client_tcp_transport.d.ts +3 -3
  7. package/dist/source/client_tcp_transport.js +2 -2
  8. package/dist/source/client_tcp_transport.js.map +1 -1
  9. package/dist/source/server_tcp_transport.d.ts +3 -0
  10. package/dist/source/server_tcp_transport.js +2 -7
  11. package/dist/source/server_tcp_transport.js.map +1 -1
  12. package/dist/source/tcp_transport.js +2 -2
  13. package/dist/source/tools.d.ts +1 -1
  14. package/dist/source/tools.js +4 -4
  15. package/dist/source/tools.js.map +1 -1
  16. package/dist/source/utils.js +1 -1
  17. package/dist/source/utils.js.map +1 -1
  18. package/dist/test-fixtures/fixture_full_tcp_packets.js +8 -8
  19. package/dist/test-fixtures/fixture_full_tcp_packets.js.map +1 -1
  20. package/dist/test_helpers/direct_transport.d.ts +1 -1
  21. package/dist/test_helpers/direct_transport.js.map +1 -1
  22. package/dist/test_helpers/fake_server.d.ts +2 -2
  23. package/dist/test_helpers/fake_server.js +1 -1
  24. package/dist/test_helpers/fake_server.js.map +1 -1
  25. package/dist/test_helpers/half_com_channel.js +2 -4
  26. package/dist/test_helpers/half_com_channel.js.map +1 -1
  27. package/dist/test_helpers/socket_transport.js +1 -0
  28. package/dist/test_helpers/socket_transport.js.map +1 -1
  29. package/package.json +11 -9
  30. package/source/AcknowledgeMessage.ts +7 -9
  31. package/source/TCPErrorMessage.ts +58 -57
  32. package/source/client_tcp_transport.ts +366 -366
  33. package/source/index.ts +11 -11
  34. package/source/message_builder_base.ts +2 -2
  35. package/source/server_tcp_transport.ts +11 -12
  36. package/source/tcp_transport.ts +455 -455
  37. package/source/tools.ts +4 -4
  38. package/source/utils.ts +1 -1
  39. package/test_helpers/direct_transport.ts +2 -2
  40. package/test_helpers/fake_server.ts +69 -71
  41. package/test_helpers/half_com_channel.ts +2 -5
  42. package/test_helpers/index.ts +4 -4
  43. package/test_helpers/socket_transport.ts +33 -34
package/source/tools.ts CHANGED
@@ -47,18 +47,18 @@ export function decodeMessage(stream: BinaryStream, classNameConstructor: Constr
47
47
  }
48
48
  }
49
49
 
50
- export function packTcpMessage(msgType: string, encodableObject: BaseUAObject): Buffer {
50
+ export function packTcpMessage(msgType: string, encodeableObject: BaseUAObject): Buffer {
51
51
  assert(is_valid_msg_type(msgType));
52
52
 
53
- const messageChunk = createFastUninitializedBuffer(encodableObject.binaryStoreSize() + 8);
53
+ const messageChunk = createFastUninitializedBuffer(encodeableObject.binaryStoreSize() + 8);
54
54
  // encode encodeableObject in a packet
55
55
  const stream = new BinaryStream(messageChunk);
56
- encodeMessage(msgType, encodableObject, stream);
56
+ encodeMessage(msgType, encodeableObject, stream);
57
57
 
58
58
  return messageChunk;
59
59
  }
60
60
 
61
- // opc.tcp://xleuri11022:51210/UA/SampleServer
61
+ // opc.tcp://hostname:51210/UA/SampleServer
62
62
  export function parseEndpointUrl(endpointUrl: string): url.Url {
63
63
  const _url = url.parse(endpointUrl);
64
64
  if (!_url.protocol || !_url.hostname) {
package/source/utils.ts CHANGED
@@ -1,4 +1,4 @@
1
- //
1
+ //
2
2
  const transportFlag = (process.env?.NODEOPCUADEBUG?.match(/TRANSPORT{([^}]*)}/) || [])[1] || "";
3
3
  export const doTraceHelloAck = transportFlag.match(/HELACK/);
4
4
  export const doTraceChunk = transportFlag.match(/CHUNK/);
@@ -8,7 +8,7 @@ export class DirectTransport extends EventEmitter {
8
8
  public server: HalfComChannel;
9
9
  public url: string;
10
10
 
11
- private _responses?: any[];
11
+ private _responses?: ((socket: HalfComChannel, data: Buffer) => void)[];
12
12
  constructor() {
13
13
  super();
14
14
 
@@ -66,7 +66,7 @@ export class DirectTransport extends EventEmitter {
66
66
  return this._responses.shift();
67
67
  }
68
68
 
69
- public pushResponse(func: any): void {
69
+ public pushResponse(func: (socket: HalfComChannel, data: Buffer) => void): void {
70
70
  this._responses = this._responses || [];
71
71
  this._responses.push(func);
72
72
  }
@@ -1,71 +1,69 @@
1
- import { EventEmitter } from "events";
2
- import * as net from "net";
3
- import { assert } from "node-opcua-assert";
4
-
5
- const port = 5678;
6
-
7
- export class FakeServer extends EventEmitter {
8
-
9
- public port: number;
10
- public url: string;
11
- public tcpServer: net.Server;
12
- protected _serverSocket?: net.Socket;
13
- private _responses?: any[];
14
-
15
- constructor() {
16
- super();
17
- this.port = port;
18
-
19
- this.url = "opc.tcp://localhost:" + port;
20
-
21
- this.tcpServer = new net.Server();
22
-
23
- this._serverSocket = undefined;
24
-
25
- this.tcpServer.on("connection", (socket: net.Socket) => {
26
- assert(!this._serverSocket, " already connected");
27
- this._serverSocket = socket;
28
-
29
- this._serverSocket.on("data", (data: Buffer) => {
30
- const func = this.popResponse();
31
- if (func) {
32
- func(this._serverSocket, data);
33
- }
34
- });
35
- this._serverSocket.on("err", (err: Error) => {
36
- // console.log(" @@@@ socket err ",err);
37
- });
38
- this._serverSocket.on("close", (err?: Error) => {
39
- // console.log(" @@@@ socket closed ",err);
40
- });
41
- this._serverSocket.on("end", (err?: Error) => {
42
- // console.log(" @@@@ socket end ",err);
43
- this.emit("end", err);
44
- });
45
- });
46
- }
47
-
48
- public initialize(done: () => void) {
49
-
50
- this.tcpServer.listen(this.port, () => {
51
- done();
52
- });
53
- }
54
-
55
- public shutdown(callback: (err?: Error) => void) {
56
- this.tcpServer.close(callback);
57
- }
58
-
59
- public popResponse() {
60
- if (!this._responses) {
61
- return null;
62
- }
63
- return this._responses.shift();
64
- }
65
-
66
- public pushResponse(func: any) {
67
- this._responses = this._responses || [];
68
- this._responses.push(func);
69
- }
70
-
71
- }
1
+ import { EventEmitter } from "events";
2
+ import * as net from "net";
3
+ import { assert } from "node-opcua-assert";
4
+ import { HalfComChannel } from "./half_com_channel";
5
+
6
+ const port = 5678;
7
+
8
+ export class FakeServer extends EventEmitter {
9
+ public port: number;
10
+ public url: string;
11
+ public tcpServer: net.Server;
12
+ protected _serverSocket?: net.Socket;
13
+ private _responses?: any[];
14
+
15
+ constructor() {
16
+ super();
17
+ this.port = port;
18
+
19
+ this.url = "opc.tcp://localhost:" + port;
20
+
21
+ this.tcpServer = new net.Server();
22
+
23
+ this._serverSocket = undefined;
24
+
25
+ this.tcpServer.on("connection", (socket: net.Socket) => {
26
+ assert(!this._serverSocket, " already connected");
27
+ this._serverSocket = socket;
28
+
29
+ this._serverSocket.on("data", (data: Buffer) => {
30
+ const func = this.popResponse();
31
+ if (func && this._serverSocket) {
32
+ func(this._serverSocket, data);
33
+ }
34
+ });
35
+ this._serverSocket.on("err", (err: Error) => {
36
+ // console.log(" @@@@ socket err ",err);
37
+ });
38
+ this._serverSocket.on("close", (err?: Error) => {
39
+ // console.log(" @@@@ socket closed ",err);
40
+ });
41
+ this._serverSocket.on("end", (err?: Error) => {
42
+ // console.log(" @@@@ socket end ",err);
43
+ this.emit("end", err);
44
+ });
45
+ });
46
+ }
47
+
48
+ public initialize(done: () => void): void {
49
+ this.tcpServer.listen(this.port, () => {
50
+ done();
51
+ });
52
+ }
53
+
54
+ public shutdown(callback: (err?: Error) => void): void {
55
+ this.tcpServer.close(callback);
56
+ }
57
+
58
+ public popResponse(): ((socket: net.Socket, data: Buffer) => void) | null {
59
+ if (!this._responses) {
60
+ return null;
61
+ }
62
+ return this._responses.shift();
63
+ }
64
+
65
+ public pushResponse(func: (socket: net.Socket, data: Buffer) => void): void {
66
+ this._responses = this._responses || [];
67
+ this._responses.push(func);
68
+ }
69
+ }
@@ -11,7 +11,6 @@ export class HalfComChannel extends EventEmitter {
11
11
  }
12
12
 
13
13
  public write(data: string | Buffer): void {
14
-
15
14
  if (typeof data === "string") {
16
15
  data = Buffer.from(data);
17
16
  }
@@ -29,9 +28,7 @@ export class HalfComChannel extends EventEmitter {
29
28
  }
30
29
  }
31
30
 
32
- public destroy(): void {
33
- }
31
+ public destroy(): void {}
34
32
 
35
- public setTimeout(): void {
36
- }
33
+ public setTimeout(): void {}
37
34
  }
@@ -1,4 +1,4 @@
1
- export * from "./fake_server";
2
- export * from "./direct_transport";
3
- export * from "./socket_transport";
4
- export * from "./half_com_channel";
1
+ export * from "./fake_server";
2
+ export * from "./direct_transport";
3
+ export * from "./socket_transport";
4
+ export * from "./half_com_channel";
@@ -1,34 +1,33 @@
1
- // tslint:disable:no-empty
2
- import * as net from "net";
3
- import { FakeServer } from "./fake_server";
4
-
5
- export class SocketTransport extends FakeServer {
6
-
7
- private client: net.Socket;
8
- private server?: net.Socket;
9
-
10
- constructor() {
11
-
12
- super();
13
-
14
- this.client = new net.Socket();
15
- this.client.connect(this.port, (err?: Error) => {
16
- });
17
- }
18
-
19
- public initialize(done: () => void) {
20
- super.initialize(() => {
21
- this.tcpServer.on("connection", (socket: net.Socket) => {
22
- this.server = this._serverSocket;
23
- done();
24
- });
25
- });
26
- }
27
-
28
- public shutdown(done: (err?: Error) => void) {
29
- this.client.end();
30
- super.shutdown((err?: Error) => {
31
- done(err);
32
- });
33
- }
34
- }
1
+ // tslint:disable:no-empty
2
+ import * as net from "net";
3
+ import { FakeServer } from "./fake_server";
4
+
5
+ export class SocketTransport extends FakeServer {
6
+ private client: net.Socket;
7
+ private server?: net.Socket;
8
+
9
+ constructor() {
10
+ super();
11
+
12
+ this.client = new net.Socket();
13
+ this.client.connect(this.port, (err?: Error): void => {
14
+ /** */
15
+ });
16
+ }
17
+
18
+ public initialize(done: () => void): void {
19
+ super.initialize(() => {
20
+ this.tcpServer.on("connection", (socket: net.Socket) => {
21
+ this.server = this._serverSocket;
22
+ done();
23
+ });
24
+ });
25
+ }
26
+
27
+ public shutdown(done: (err?: Error) => void): void {
28
+ this.client.end();
29
+ super.shutdown((err?: Error) => {
30
+ done(err);
31
+ });
32
+ }
33
+ }