pmcf 1.64.3 → 1.64.4

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": "pmcf",
3
- "version": "1.64.3",
3
+ "version": "1.64.4",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
package/src/base.mjs CHANGED
@@ -297,7 +297,7 @@ export class Base {
297
297
 
298
298
  *findServices(filter) {
299
299
  if (this.owner) {
300
- yield* this.owner?.findServices(filter);
300
+ yield* this.owner.findServices(filter);
301
301
  }
302
302
  }
303
303
 
package/src/cluster.mjs CHANGED
@@ -114,13 +114,19 @@ export class Cluster extends Host {
114
114
  cfg.push(` protocol ${service.protocol.toUpperCase()}`);
115
115
 
116
116
  for (const member of this.members) {
117
- cfg.push(` real_server ${member.rawAddress} ${service.port} {`);
118
- cfg.push(" weight 100");
119
-
120
- if (service.protocol === "tcp") {
121
- cfg.push(` TCP_CHECK {`);
122
- cfg.push(" connect_timeout 3");
123
- cfg.push(" }");
117
+ const memberService = member.findService({ type: service.type });
118
+
119
+ cfg.push(
120
+ ` real_server ${member.rawAddress} ${memberService.port} {`
121
+ );
122
+ cfg.push(` weight ${memberService.weight}`);
123
+
124
+ switch (service.protocol) {
125
+ case "tcp":
126
+ cfg.push(` TCP_CHECK {`);
127
+ cfg.push(" connect_timeout 3");
128
+ cfg.push(" }");
129
+ break;
124
130
  }
125
131
 
126
132
  cfg.push(" }");
package/src/host.mjs CHANGED
@@ -263,15 +263,18 @@ export class Host extends Base {
263
263
  }
264
264
 
265
265
  *findServices(filter) {
266
- for (const service of this.#services) {
267
- if (
268
- !filter ||
269
- filter.type === "*" ||
270
- filter.type === service.type ||
271
- filter.name === service.name
272
- ) {
273
- yield service;
266
+ if (filter) {
267
+ for (const service of this.#services) {
268
+ if (
269
+ filter.type === "*" ||
270
+ filter.type === service.type ||
271
+ filter.name === service.name
272
+ ) {
273
+ yield service;
274
+ }
274
275
  }
276
+ } else {
277
+ yield* this.#services;
275
278
  }
276
279
  }
277
280
 
package/src/service.mjs CHANGED
@@ -131,7 +131,14 @@ export class Service extends Base {
131
131
  }
132
132
 
133
133
  get weight() {
134
- return this.#weight || this.owner.weight || 0;
134
+ if (this.#weight !== undefined) {
135
+ return this.#weight;
136
+ }
137
+ if (this.owner.weight !== undefined) {
138
+ return this.owner.weight;
139
+ }
140
+
141
+ return 1;
135
142
  }
136
143
 
137
144
  set type(value) {