• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

node-opcua / node-opcua / 25273947109
92%

Build:
DEFAULT BRANCH: master
Ran 03 May 2026 09:31AM UTC
Jobs 1
Files 1213
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 May 2026 08:10AM UTC coverage: 92.206% (+0.004%) from 92.202%
25273947109

push

github

erossignon
feat(transport): add IClientTransport interface and default factory

Adds two new files to node-opcua-transport plus two re-exports from
source/index.ts. No behaviour change; no edits to ClientTCP_transport or
any other existing file.

- source/i_client_transport.ts — new interface IClientTransport. Codifies
  the surface that ClientSecureChannelLayer already duck-types against
  ClientTCP_transport: lifecycle (connect, disconnect, dispose, write,
  prematureTerminate, forceConnectionBreak, isValid, isDisconnecting),
  diagnostic fields (bytesRead, bytesWritten, chunkReadCount,
  chunkWrittenCount, name), HEL/ACK negotiated values (parameters,
  receiveBufferSize, sendBufferSize, maxChunkCount, maxMessageSize),
  mutable config (protocolVersion, timeout, numberOfRetry, endpointUrl,
  serverUri), and the typed EventEmitter events (chunk, close, connect,
  connection_break). ClientTCP_transport satisfies this interface
  structurally; no changes to the class are required.

- source/default_client_transport_factory.ts — new interface
  IClientTransportFactory with a single create(settings?): IClientTransport
  method, plus a concrete defaultClientTransportFactory whose create()
  returns new ClientTCP_transport(opts). Preserves every Node-side code
  path that currently constructs ClientTCP_transport directly.

This is the first of a small series that introduces a pluggable seam at
the secure-channel layer. Splitting from the follow-up (transportFactory
option on ClientSecureChannelLayerOptions) because the interface and the
consumer-side wiring are two distinct changes with independent review
surface:

1. This commit: define the contract that any transport must satisfy;
   provide a default factory that reproduces current behaviour
   byte-for-byte.
2. Follow-up: add an optional transportFactory option to
   ClientSecureChannelLayerOptions that threads through to channel
   construction.

On its own, this commit adds two unused public exports. The follo... (continued)

18484 of 21956 branches covered (84.19%)

145 of 145 new or added lines in 3 files covered. (100.0%)

5 existing lines in 1 file now uncovered.

162337 of 176059 relevant lines covered (92.21%)

471849.14 hits per line

Coverage Regressions

Lines Coverage ∆ File
5
83.95
-2.06% packages/node-opcua-client/source/client_session_keepalive_manager.ts
Jobs
ID Job ID Ran Files Coverage
1 25273947109.1 03 May 2026 09:31AM UTC 1213
92.21
GitHub Action Run
Source Files on build 25273947109
  • Tree
  • List 1213
  • Changed 3
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #25273947109
  • 68fb2523 on github
  • Prev Build on master (#25273896001)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc