node-opcua-transport 2.76.0 → 2.76.2
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/AcknowledgeMessage.d.ts +27 -27
- package/dist/source/AcknowledgeMessage.js +78 -78
- package/dist/source/HelloMessage.d.ts +27 -27
- package/dist/source/HelloMessage.js +94 -94
- package/dist/source/TCPErrorMessage.d.ts +18 -18
- package/dist/source/TCPErrorMessage.js +46 -46
- package/dist/source/client_tcp_transport.d.ts +86 -86
- package/dist/source/client_tcp_transport.js +331 -331
- package/dist/source/index.d.ts +13 -13
- package/dist/source/index.js +29 -29
- package/dist/source/message_builder_base.d.ts +112 -112
- package/dist/source/message_builder_base.js +244 -244
- package/dist/source/server_tcp_transport.d.ts +44 -44
- package/dist/source/server_tcp_transport.js +228 -228
- package/dist/source/status_codes.d.ts +100 -100
- package/dist/source/status_codes.js +110 -110
- package/dist/source/tcp_transport.d.ts +136 -136
- package/dist/source/tcp_transport.js +376 -376
- package/dist/source/tools.d.ts +14 -14
- package/dist/source/tools.js +103 -103
- package/dist/source/utils.d.ts +3 -3
- package/dist/source/utils.js +9 -9
- package/dist/test-fixtures/fixture_full_tcp_packets.d.ts +21 -21
- package/dist/test-fixtures/fixture_full_tcp_packets.js +41 -41
- package/dist/test-fixtures/index.d.ts +1 -1
- package/dist/test-fixtures/index.js +17 -17
- package/dist/test_helpers/direct_transport.d.ts +18 -18
- package/dist/test_helpers/direct_transport.js +62 -62
- package/dist/test_helpers/fake_server.d.ts +19 -19
- package/dist/test_helpers/fake_server.js +54 -54
- package/dist/test_helpers/half_com_channel.d.ts +17 -17
- package/dist/test_helpers/half_com_channel.js +31 -31
- package/dist/test_helpers/index.d.ts +4 -4
- package/dist/test_helpers/index.js +20 -20
- package/dist/test_helpers/socket_transport.d.ts +10 -10
- package/dist/test_helpers/socket_transport.js +30 -30
- package/package.json +11 -11
|
@@ -1,136 +1,136 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
|
-
/// <reference types="node" />
|
|
4
|
-
/**
|
|
5
|
-
* @module node-opcua-transport
|
|
6
|
-
*/
|
|
7
|
-
import { EventEmitter } from "events";
|
|
8
|
-
import { Socket } from "net";
|
|
9
|
-
import { ErrorCallback, CallbackWithData, StatusCode } from "node-opcua-status-code";
|
|
10
|
-
export interface MockSocket {
|
|
11
|
-
invalid?: boolean;
|
|
12
|
-
[key: string]: any;
|
|
13
|
-
destroy(): void;
|
|
14
|
-
end(): void;
|
|
15
|
-
}
|
|
16
|
-
export declare function setFakeTransport(mockSocket: MockSocket): void;
|
|
17
|
-
export declare function getFakeTransport(): any;
|
|
18
|
-
export interface TCP_transport {
|
|
19
|
-
/**
|
|
20
|
-
* notify the observers that a message chunk has been received
|
|
21
|
-
* @event chunk
|
|
22
|
-
* @param message_chunk the message chunk
|
|
23
|
-
*/
|
|
24
|
-
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
|
-
/**
|
|
32
|
-
* notify the observers that the transport layer has been disconnected.
|
|
33
|
-
* @event close
|
|
34
|
-
*/
|
|
35
|
-
on(eventName: "close", eventHandler: (err: Error | null) => void): this;
|
|
36
|
-
once(eventName: "chunk", eventHandler: (messageChunk: Buffer) => void): this;
|
|
37
|
-
once(eventName: "socket_closed", eventHandler: (err: Error | null) => void): this;
|
|
38
|
-
once(eventName: "close", eventHandler: (err: Error | null) => void): this;
|
|
39
|
-
emit(eventName: "socket_closed", err?: Error | null): boolean;
|
|
40
|
-
emit(eventName: "close", err?: Error | null): boolean;
|
|
41
|
-
emit(eventName: "chunk", messageChunk: Buffer): boolean;
|
|
42
|
-
}
|
|
43
|
-
export declare class TCP_transport extends EventEmitter {
|
|
44
|
-
private static registry;
|
|
45
|
-
/**
|
|
46
|
-
* indicates the version number of the OPCUA protocol used
|
|
47
|
-
* @default 0
|
|
48
|
-
*/
|
|
49
|
-
protocolVersion: number;
|
|
50
|
-
maxMessageSize: number;
|
|
51
|
-
maxChunkCount: number;
|
|
52
|
-
sendBufferSize: number;
|
|
53
|
-
receiveBufferSize: number;
|
|
54
|
-
bytesWritten: number;
|
|
55
|
-
bytesRead: number;
|
|
56
|
-
chunkWrittenCount: number;
|
|
57
|
-
chunkReadCount: number;
|
|
58
|
-
name: string;
|
|
59
|
-
_socket: Socket | null;
|
|
60
|
-
/**
|
|
61
|
-
* the size of the header in bytes
|
|
62
|
-
* @default 8
|
|
63
|
-
*/
|
|
64
|
-
private readonly headerSize;
|
|
65
|
-
private _disconnecting;
|
|
66
|
-
private _timerId;
|
|
67
|
-
private _onSocketClosedHasBeenCalled;
|
|
68
|
-
private _onSocketEndedHasBeenCalled;
|
|
69
|
-
private _theCallback?;
|
|
70
|
-
private _on_error_during_one_time_message_receiver;
|
|
71
|
-
private packetAssembler?;
|
|
72
|
-
private _timeout;
|
|
73
|
-
constructor();
|
|
74
|
-
setLimits({ receiveBufferSize, sendBufferSize, maxMessageSize, maxChunkCount }: {
|
|
75
|
-
receiveBufferSize: number;
|
|
76
|
-
sendBufferSize: number;
|
|
77
|
-
maxMessageSize: number;
|
|
78
|
-
maxChunkCount: number;
|
|
79
|
-
}): void;
|
|
80
|
-
get timeout(): number;
|
|
81
|
-
set timeout(value: number);
|
|
82
|
-
dispose(): void;
|
|
83
|
-
/**
|
|
84
|
-
* write the message_chunk on the socket.
|
|
85
|
-
* @method write
|
|
86
|
-
* @param messageChunk
|
|
87
|
-
*/
|
|
88
|
-
write(messageChunk: Buffer, callback?: (err?: Error) => void | undefined): void;
|
|
89
|
-
get isDisconnecting(): boolean;
|
|
90
|
-
/**
|
|
91
|
-
* disconnect the TCP layer and close the underlying socket.
|
|
92
|
-
* The ```"close"``` event will be emitted to the observers with err=null.
|
|
93
|
-
*
|
|
94
|
-
* @method disconnect
|
|
95
|
-
* @async
|
|
96
|
-
* @param callback
|
|
97
|
-
*/
|
|
98
|
-
disconnect(callback: ErrorCallback): void;
|
|
99
|
-
isValid(): boolean;
|
|
100
|
-
protected _write_chunk(messageChunk: Buffer, callback?: (err?: Error) => void | undefined): void;
|
|
101
|
-
protected on_socket_ended(err: Error | null): void;
|
|
102
|
-
protected _install_packetAssembler(): void;
|
|
103
|
-
/**
|
|
104
|
-
* @method _install_socket
|
|
105
|
-
* @param socket {Socket}
|
|
106
|
-
* @protected
|
|
107
|
-
*/
|
|
108
|
-
protected _install_socket(socket: Socket): void;
|
|
109
|
-
sendErrorMessage(statusCode: StatusCode, extraErrorDescription: string | null): void;
|
|
110
|
-
prematureTerminate(err: Error, statusCode: StatusCode): void;
|
|
111
|
-
/**
|
|
112
|
-
* @method _install_one_time_message_receiver
|
|
113
|
-
*
|
|
114
|
-
* install a one time message receiver callback
|
|
115
|
-
*
|
|
116
|
-
* Rules:
|
|
117
|
-
* * TCP_transport will not emit the ```message``` event, while the "one time message receiver" is in operation.
|
|
118
|
-
* * the TCP_transport will wait for the next complete message chunk and call the provided callback func
|
|
119
|
-
* ```callback(null,messageChunk);```
|
|
120
|
-
*
|
|
121
|
-
* if a messageChunk is not received within ```TCP_transport.timeout``` or if the underlying socket reports
|
|
122
|
-
* an error, the callback function will be called with an Error.
|
|
123
|
-
*
|
|
124
|
-
*/
|
|
125
|
-
protected _install_one_time_message_receiver(callback: CallbackWithData): void;
|
|
126
|
-
private _fulfill_pending_promises;
|
|
127
|
-
private _on_message_chunk_received;
|
|
128
|
-
private _cleanup_timers;
|
|
129
|
-
private _start_one_time_message_receiver;
|
|
130
|
-
private on_socket_closed;
|
|
131
|
-
private _on_socket_data;
|
|
132
|
-
private _on_socket_close;
|
|
133
|
-
private _on_socket_ended_message;
|
|
134
|
-
private _on_socket_end;
|
|
135
|
-
private _on_socket_error;
|
|
136
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
/**
|
|
5
|
+
* @module node-opcua-transport
|
|
6
|
+
*/
|
|
7
|
+
import { EventEmitter } from "events";
|
|
8
|
+
import { Socket } from "net";
|
|
9
|
+
import { ErrorCallback, CallbackWithData, StatusCode } from "node-opcua-status-code";
|
|
10
|
+
export interface MockSocket {
|
|
11
|
+
invalid?: boolean;
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
destroy(): void;
|
|
14
|
+
end(): void;
|
|
15
|
+
}
|
|
16
|
+
export declare function setFakeTransport(mockSocket: MockSocket): void;
|
|
17
|
+
export declare function getFakeTransport(): any;
|
|
18
|
+
export interface TCP_transport {
|
|
19
|
+
/**
|
|
20
|
+
* notify the observers that a message chunk has been received
|
|
21
|
+
* @event chunk
|
|
22
|
+
* @param message_chunk the message chunk
|
|
23
|
+
*/
|
|
24
|
+
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
|
+
/**
|
|
32
|
+
* notify the observers that the transport layer has been disconnected.
|
|
33
|
+
* @event close
|
|
34
|
+
*/
|
|
35
|
+
on(eventName: "close", eventHandler: (err: Error | null) => void): this;
|
|
36
|
+
once(eventName: "chunk", eventHandler: (messageChunk: Buffer) => void): this;
|
|
37
|
+
once(eventName: "socket_closed", eventHandler: (err: Error | null) => void): this;
|
|
38
|
+
once(eventName: "close", eventHandler: (err: Error | null) => void): this;
|
|
39
|
+
emit(eventName: "socket_closed", err?: Error | null): boolean;
|
|
40
|
+
emit(eventName: "close", err?: Error | null): boolean;
|
|
41
|
+
emit(eventName: "chunk", messageChunk: Buffer): boolean;
|
|
42
|
+
}
|
|
43
|
+
export declare class TCP_transport extends EventEmitter {
|
|
44
|
+
private static registry;
|
|
45
|
+
/**
|
|
46
|
+
* indicates the version number of the OPCUA protocol used
|
|
47
|
+
* @default 0
|
|
48
|
+
*/
|
|
49
|
+
protocolVersion: number;
|
|
50
|
+
maxMessageSize: number;
|
|
51
|
+
maxChunkCount: number;
|
|
52
|
+
sendBufferSize: number;
|
|
53
|
+
receiveBufferSize: number;
|
|
54
|
+
bytesWritten: number;
|
|
55
|
+
bytesRead: number;
|
|
56
|
+
chunkWrittenCount: number;
|
|
57
|
+
chunkReadCount: number;
|
|
58
|
+
name: string;
|
|
59
|
+
_socket: Socket | null;
|
|
60
|
+
/**
|
|
61
|
+
* the size of the header in bytes
|
|
62
|
+
* @default 8
|
|
63
|
+
*/
|
|
64
|
+
private readonly headerSize;
|
|
65
|
+
private _disconnecting;
|
|
66
|
+
private _timerId;
|
|
67
|
+
private _onSocketClosedHasBeenCalled;
|
|
68
|
+
private _onSocketEndedHasBeenCalled;
|
|
69
|
+
private _theCallback?;
|
|
70
|
+
private _on_error_during_one_time_message_receiver;
|
|
71
|
+
private packetAssembler?;
|
|
72
|
+
private _timeout;
|
|
73
|
+
constructor();
|
|
74
|
+
setLimits({ receiveBufferSize, sendBufferSize, maxMessageSize, maxChunkCount }: {
|
|
75
|
+
receiveBufferSize: number;
|
|
76
|
+
sendBufferSize: number;
|
|
77
|
+
maxMessageSize: number;
|
|
78
|
+
maxChunkCount: number;
|
|
79
|
+
}): void;
|
|
80
|
+
get timeout(): number;
|
|
81
|
+
set timeout(value: number);
|
|
82
|
+
dispose(): void;
|
|
83
|
+
/**
|
|
84
|
+
* write the message_chunk on the socket.
|
|
85
|
+
* @method write
|
|
86
|
+
* @param messageChunk
|
|
87
|
+
*/
|
|
88
|
+
write(messageChunk: Buffer, callback?: (err?: Error) => void | undefined): void;
|
|
89
|
+
get isDisconnecting(): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* disconnect the TCP layer and close the underlying socket.
|
|
92
|
+
* The ```"close"``` event will be emitted to the observers with err=null.
|
|
93
|
+
*
|
|
94
|
+
* @method disconnect
|
|
95
|
+
* @async
|
|
96
|
+
* @param callback
|
|
97
|
+
*/
|
|
98
|
+
disconnect(callback: ErrorCallback): void;
|
|
99
|
+
isValid(): boolean;
|
|
100
|
+
protected _write_chunk(messageChunk: Buffer, callback?: (err?: Error) => void | undefined): void;
|
|
101
|
+
protected on_socket_ended(err: Error | null): void;
|
|
102
|
+
protected _install_packetAssembler(): void;
|
|
103
|
+
/**
|
|
104
|
+
* @method _install_socket
|
|
105
|
+
* @param socket {Socket}
|
|
106
|
+
* @protected
|
|
107
|
+
*/
|
|
108
|
+
protected _install_socket(socket: Socket): void;
|
|
109
|
+
sendErrorMessage(statusCode: StatusCode, extraErrorDescription: string | null): void;
|
|
110
|
+
prematureTerminate(err: Error, statusCode: StatusCode): void;
|
|
111
|
+
/**
|
|
112
|
+
* @method _install_one_time_message_receiver
|
|
113
|
+
*
|
|
114
|
+
* install a one time message receiver callback
|
|
115
|
+
*
|
|
116
|
+
* Rules:
|
|
117
|
+
* * TCP_transport will not emit the ```message``` event, while the "one time message receiver" is in operation.
|
|
118
|
+
* * the TCP_transport will wait for the next complete message chunk and call the provided callback func
|
|
119
|
+
* ```callback(null,messageChunk);```
|
|
120
|
+
*
|
|
121
|
+
* if a messageChunk is not received within ```TCP_transport.timeout``` or if the underlying socket reports
|
|
122
|
+
* an error, the callback function will be called with an Error.
|
|
123
|
+
*
|
|
124
|
+
*/
|
|
125
|
+
protected _install_one_time_message_receiver(callback: CallbackWithData): void;
|
|
126
|
+
private _fulfill_pending_promises;
|
|
127
|
+
private _on_message_chunk_received;
|
|
128
|
+
private _cleanup_timers;
|
|
129
|
+
private _start_one_time_message_receiver;
|
|
130
|
+
private on_socket_closed;
|
|
131
|
+
private _on_socket_data;
|
|
132
|
+
private _on_socket_close;
|
|
133
|
+
private _on_socket_ended_message;
|
|
134
|
+
private _on_socket_end;
|
|
135
|
+
private _on_socket_error;
|
|
136
|
+
}
|