@bobfrankston/rmfudp 0.1.6 → 0.1.7

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bobfrankston/rmfudp",
3
- "version": "0.1.6",
3
+ "version": "0.1.7",
4
4
  "description": "Generic UDP transport with port sharing, retry logic, and configurable timeouts",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -30,6 +30,6 @@
30
30
  "url": "https://github.com/BobFrankston/rmfudp.git"
31
31
  },
32
32
  "devDependencies": {
33
- "@types/node": "^25.0.6"
33
+ "@types/node": "^25.0.7"
34
34
  }
35
35
  }
package/socket.d.ts CHANGED
@@ -5,10 +5,13 @@ export declare class UdpSocket extends EventEmitter {
5
5
  private port;
6
6
  private broadcastAddr;
7
7
  private bound;
8
+ private trace?;
8
9
  private retryCount;
9
10
  private retryDelay;
10
11
  private responseTimeout;
11
12
  constructor(options?: UdpSocketOptions);
13
+ /** Log message (console or trace handler) */
14
+ private log;
12
15
  /** Bind to port and enable broadcast */
13
16
  bind(): Promise<void>;
14
17
  /** Close socket */
package/socket.js CHANGED
@@ -5,16 +5,23 @@ const DEFAULT_BROADCAST = '255.255.255.255';
5
5
  const DEFAULT_RETRY_COUNT = 3;
6
6
  const DEFAULT_RETRY_DELAY = 100;
7
7
  const DEFAULT_RESPONSE_TIMEOUT = 1000;
8
+ const VERBOSE_LOGGING = false; // Set to true to enable verbose logging
9
+ const stamp = () => `[${new Date().toLocaleTimeString('en-US', { hour12: false })}]`;
10
+ const log = (msg) => { if (VERBOSE_LOGGING)
11
+ console.log(`${stamp()} [rmfudp] ${msg}`); };
8
12
  export class UdpSocket extends EventEmitter {
9
13
  socket;
10
14
  port;
11
15
  broadcastAddr;
12
16
  bound = false;
17
+ trace;
13
18
  retryCount = DEFAULT_RETRY_COUNT;
14
19
  retryDelay = DEFAULT_RETRY_DELAY;
15
20
  responseTimeout = DEFAULT_RESPONSE_TIMEOUT;
16
21
  constructor(options = {}) {
17
22
  super();
23
+ this.trace = options.trace;
24
+ this.log('[rmfudp] UdpSocket constructor - Version: 2026-01-15-v3');
18
25
  // Multi-instance handling: When reuseAddr is enabled and a non-zero port is requested,
19
26
  // use ephemeral port (0) instead to ensure each instance can receive all responses.
20
27
  // Windows doesn't reliably deliver unicast UDP to all sockets on same port.
@@ -34,7 +41,9 @@ export class UdpSocket extends EventEmitter {
34
41
  reusePort: usePortReuse
35
42
  });
36
43
  this.socket.on('message', (msg, rinfo) => {
44
+ log(`dgram received ${msg.length} bytes from ${rinfo.address}:${rinfo.port} on port ${this.port}`);
37
45
  this.emit('message', msg, rinfo);
46
+ log(`emitted 'message' event`);
38
47
  });
39
48
  this.socket.on('error', (err) => {
40
49
  this.emit('error', err);
@@ -44,19 +53,31 @@ export class UdpSocket extends EventEmitter {
44
53
  this.emit('close');
45
54
  });
46
55
  }
56
+ /** Log message (console or trace handler) */
57
+ log(message) {
58
+ if (this.trace) {
59
+ this.trace(message);
60
+ }
61
+ else {
62
+ console.log(message);
63
+ }
64
+ }
47
65
  /** Bind to port and enable broadcast */
48
66
  bind() {
49
67
  return new Promise((resolve, reject) => {
50
68
  if (this.bound) {
69
+ log(`Already bound to port ${this.port}`);
51
70
  resolve();
52
71
  return;
53
72
  }
73
+ log(`Binding to port ${this.port}...`);
54
74
  this.socket.once('error', reject);
55
75
  this.socket.bind(this.port, () => {
56
76
  this.socket.removeListener('error', reject);
57
77
  this.socket.setBroadcast(true);
58
78
  this.bound = true;
59
79
  this.port = this.socket.address().port;
80
+ log(`Bound to port ${this.port}, broadcast enabled, listening for messages...`);
60
81
  this.emit('bound');
61
82
  resolve();
62
83
  });
@@ -92,17 +113,26 @@ export class UdpSocket extends EventEmitter {
92
113
  /** Send data to specific address (fire-and-forget) */
93
114
  send(ip, port, data) {
94
115
  if (!this.bound) {
116
+ log(`ERROR: Cannot send, socket not bound`);
95
117
  this.emit('error', new Error('Socket not bound'));
96
118
  return;
97
119
  }
120
+ log(`Sending ${data.length} bytes to ${ip}:${port} from port ${this.port}`);
98
121
  this.socket.send(data, 0, data.length, port, ip, (err) => {
99
- if (err)
122
+ if (err) {
123
+ log(`Send error: ${err.message}`);
100
124
  this.emit('error', err);
125
+ }
126
+ else {
127
+ log(`Send completed successfully`);
128
+ }
101
129
  });
102
130
  }
103
131
  /** Broadcast data (fire-and-forget) */
104
132
  broadcast(data, port) {
105
- this.send(this.broadcastAddr, port ?? this.port, data);
133
+ const targetPort = port ?? this.port;
134
+ log(`Broadcasting ${data.length} bytes to ${this.broadcastAddr}:${targetPort}`);
135
+ this.send(this.broadcastAddr, targetPort, data);
106
136
  }
107
137
  /** Send with retry - resolves when ack received or retries exhausted */
108
138
  sendWithRetry(ip, port, data, isAck) {
package/types.d.ts CHANGED
@@ -1,8 +1,10 @@
1
+ export type TraceHandler = (message: string) => void;
1
2
  export interface UdpSocketOptions {
2
3
  port?: number; /** default 0 (ephemeral) */
3
4
  reuseAddr?: boolean; /** default true for port sharing (also enables reusePort on supported platforms) */
4
5
  broadcastAddr?: string; /** default "255.255.255.255" */
5
6
  multiInstance?: boolean; /** default true - automatically use ephemeral ports when reuseAddr=true to ensure all instances receive responses (set false to force requested port) */
7
+ trace?: TraceHandler; /** optional trace handler for logging */
6
8
  }
7
9
  export interface UdpRetryOptions {
8
10
  retryCount?: number; /** default 3 */
package/.gitattributes DELETED
@@ -1,5 +0,0 @@
1
- * text=auto eol=lf
2
- *.ts text eol=lf
3
- *.js text eol=lf
4
- *.json text eol=lf
5
- *.md text eol=lf
package/address.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"address.d.ts","sourceRoot":"","sources":["address.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,WAAW;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACf;AAED,+DAA+D;AAC/D,wBAAgB,oBAAoB,IAAI,WAAW,EAAE,CAsBpD;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAKzE;AAED,gDAAgD;AAChD,wBAAgB,qBAAqB,IAAI,MAAM,EAAE,CAEhD"}
package/address.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"address.js","sourceRoot":"","sources":["address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAU9B,+DAA+D;AAC/D,MAAM,UAAU,oBAAoB;IAChC,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,MAAM,GAAG,EAAE,CAAC,iBAAiB,EAAE,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACtD,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC;gBAAE,SAAS,CAAE,iBAAiB;YAErE,MAAM,CAAC,IAAI,CAAC;gBACR,IAAI;gBACJ,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;gBACvD,GAAG,EAAE,IAAI,CAAC,GAAG;aAChB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAe;IAC7D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpC,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,qBAAqB;IACjC,OAAO,oBAAoB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;AAC1D,CAAC"}
package/index.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,gBAAgB,EAAe,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
package/socket.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["socket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAQ3E,qBAAa,SAAU,SAAQ,YAAY;IACvC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,KAAK,CAAkB;IAE/B,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,UAAU,CAA+B;IACjD,OAAO,CAAC,eAAe,CAAoC;gBAE/C,OAAO,GAAE,gBAAqB;IAsC1C,wCAAwC;IACxC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBrB,mBAAmB;IACnB,KAAK,IAAI,IAAI;IAMb,qBAAqB;IACrB,OAAO,IAAI,MAAM;IAIjB,mCAAmC;IACnC,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAM/C,gCAAgC;IAChC,eAAe,IAAI,QAAQ,CAAC,eAAe,CAAC;IAQ5C,sDAAsD;IACtD,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAUlD,uCAAuC;IACvC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;IAI5C,wEAAwE;IACxE,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;CAoC7H"}
package/socket.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"socket.js","sourceRoot":"","sources":["socket.ts"],"names":[],"mappings":"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"}
package/types.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC,CAAE,4BAA4B;IAC5C,SAAS,CAAC,EAAE,OAAO,CAAC,CAAE,oFAAoF;IAC1G,aAAa,CAAC,EAAE,MAAM,CAAC,CAAE,gCAAgC;IACzD,aAAa,CAAC,EAAE,OAAO,CAAC,CAAE,yJAAyJ;CACtL;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC,CAAE,gBAAgB;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAE,sCAAsC;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC,CAAE,4CAA4C;CAC1E;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC5B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,CAAC;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,KAAK,EAAE,MAAM,IAAI,CAAC;CACrB"}
package/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":""}
package/util.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,uCAAuC;AACvC,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,kCAAkC;AAClC,wBAAgB,YAAY,CAAC,CAAC,GAAG,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAEvD;AAED,mCAAmC;AACnC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,mCAAmC;AACnC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,MAAM,CAIvE"}
package/util.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["util.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,uCAAuC;AACvC,MAAM,UAAU,YAAY,CAAC,IAAY;IACrC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,YAAY,CAAC,GAAW;IACpC,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,YAAY,CAAC,GAAW;IACpC,OAAO,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,YAAY,CAAa,GAAW;IAChD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,WAAW,CAAC,GAAW;IACnC,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,YAAoB,EAAE;IAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAC;IAC3B,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC"}