MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / remove

Method remove

modules/network/mdns/mdns.js:109–139  ·  view source on GitHub ↗
(service, callback)

Source from the content-addressed store, hash-verified

107 service.updater.interval = 0;
108 }
109 remove(service, callback) {
110 if ("string" === typeof service) {
111 service += ".local";
112 service = this.monitors.findIndex(item => item.service === service);
113 if (service >= 0) {
114 callback = this.monitors[service].callbacks.findIndex(item => item === callback);
115 if (callback < 0) throw new Error("callback not found");
116 this.monitors[service].callbacks.splice(callback, 1);
117 if (0 === this.monitors[service].callbacks.length) {
118 this.monitors[service].close = true;
119 Timer.clear(this.monitors[service].timer);
120 this.monitors.splice(service, 1);
121 }
122 }
123 }
124 else {
125 const index = this.services.indexOf(service);
126 if (index < 0) throw new Error("service not found");
127
128 this.services.splice(index, 1);
129 try {
130 this.write(MDNS.IP, MDNS.PORT, this.reply(null, 0x0F, service, true));
131 }
132 catch {
133 // write fails if socket closed
134 }
135
136 Timer.clear(service.timer);
137 delete service.timer;
138 }
139 }
140 monitor(service, callback) {
141 service += ".local";
142 let monitor = this.monitors.find(item => item.service === service);

Callers 1

closeMethod · 0.95

Calls 4

replyMethod · 0.95
findIndexMethod · 0.65
writeMethod · 0.65
clearMethod · 0.45

Tested by

no test coverage detected