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

Method monitor

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

Source from the content-addressed store, hash-verified

138 }
139 }
140 monitor(service, callback) {
141 service += ".local";
142 let monitor = this.monitors.find(item => item.service === service);
143 if (monitor) {
144 if (monitor.callbacks.find(item => item === callback))
145 throw new Error("redundant");
146 monitor.callbacks.push(callback);
147 if (!monitor.length)
148 return;
149
150 Timer.set(() => {
151 for (let i = 0; i < monitor.length; i++)
152 callback.call(this, monitor.service.slice(0, -6), monitor[i]);
153 }, 0);
154 }
155 else {
156 monitor = [];
157 monitor.service = service;
158 monitor.state = 0;
159 monitor.callbacks = [callback];
160 monitor.mdns = this;
161 monitor.timer = Timer.set(this.monitorTask.bind(monitor), 1);
162 this.monitors.push(monitor);
163 }
164 }
165 monitorTask() {
166 const mdns = this.mdns;
167 switch (this.state) {

Callers

nothing calls this directly

Calls 5

findMethod · 0.80
setMethod · 0.65
sliceMethod · 0.65
pushMethod · 0.45
bindMethod · 0.45

Tested by

no test coverage detected