mirror of
https://github.com/moonlight-stream/moonlight-android.git
synced 2025-07-21 03:52:48 +00:00
Revert "Synchronize the mDNS events and timer with the MdnsDiscoveryAgent class instead of the instance object as a workaround for JmDNS issue #49"
This reverts commit d92ad050aa4482cdaaf8f7345222da26c31d84f6.
This commit is contained in:
parent
c1c3af3c66
commit
1db84efb68
@ -28,48 +28,37 @@ public class MdnsDiscoveryAgent {
|
|||||||
private boolean stop;
|
private boolean stop;
|
||||||
private ServiceListener nvstreamListener = new ServiceListener() {
|
private ServiceListener nvstreamListener = new ServiceListener() {
|
||||||
public void serviceAdded(ServiceEvent event) {
|
public void serviceAdded(ServiceEvent event) {
|
||||||
synchronized (MdnsDiscoveryAgent.class) {
|
LimeLog.info("mDNS: Machine appeared: "+event.getInfo().getName());
|
||||||
if (resolver == null) {
|
|
||||||
LimeLog.warning("mDNS callback invoked without a resolver!");
|
ServiceInfo[] infos = resolver.getServiceInfos(SERVICE_TYPE, event.getInfo().getName(), 500);
|
||||||
return;
|
if (infos == null || infos.length == 0) {
|
||||||
}
|
// This machine is pending resolution
|
||||||
|
pendingResolution.add(event.getInfo().getName());
|
||||||
LimeLog.info("mDNS: Machine appeared: "+event.getInfo().getName());
|
return;
|
||||||
|
|
||||||
ServiceInfo[] infos = resolver.getServiceInfos(SERVICE_TYPE, event.getInfo().getName(), 500);
|
|
||||||
if (infos == null || infos.length == 0) {
|
|
||||||
// This machine is pending resolution
|
|
||||||
pendingResolution.add(event.getInfo().getName());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
LimeLog.info("mDNS: Resolved (blocking) with "+infos.length+" service entries");
|
|
||||||
handleResolvedServiceInfo(infos[0]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LimeLog.info("mDNS: Resolved (blocking) with "+infos.length+" service entries");
|
||||||
|
handleResolvedServiceInfo(infos[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void serviceRemoved(ServiceEvent event) {
|
public void serviceRemoved(ServiceEvent event) {
|
||||||
synchronized (MdnsDiscoveryAgent.class) {
|
LimeLog.info("mDNS: Machine disappeared: "+event.getInfo().getName());
|
||||||
LimeLog.info("mDNS: Machine disappeared: "+event.getInfo().getName());
|
|
||||||
|
Inet4Address addrs[] = event.getInfo().getInet4Addresses();
|
||||||
Inet4Address addrs[] = event.getInfo().getInet4Addresses();
|
for (Inet4Address addr : addrs) {
|
||||||
for (Inet4Address addr : addrs) {
|
synchronized (computers) {
|
||||||
synchronized (computers) {
|
MdnsComputer computer = computers.remove(addr);
|
||||||
MdnsComputer computer = computers.remove(addr);
|
if (computer != null) {
|
||||||
if (computer != null) {
|
listener.notifyComputerRemoved(computer);
|
||||||
listener.notifyComputerRemoved(computer);
|
break;
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void serviceResolved(ServiceEvent event) {
|
public void serviceResolved(ServiceEvent event) {
|
||||||
synchronized (MdnsDiscoveryAgent.class) {
|
LimeLog.info("mDNS: Machine resolved (callback): "+event.getInfo().getName());
|
||||||
LimeLog.info("mDNS: Machine resolved (callback): "+event.getInfo().getName());
|
handleResolvedServiceInfo(event.getInfo());
|
||||||
handleResolvedServiceInfo(event.getInfo());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -124,7 +113,7 @@ public class MdnsDiscoveryAgent {
|
|||||||
t.schedule(new TimerTask() {
|
t.schedule(new TimerTask() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
synchronized (MdnsDiscoveryAgent.class) {
|
synchronized (MdnsDiscoveryAgent.this) {
|
||||||
// Stop if requested
|
// Stop if requested
|
||||||
if (stop) {
|
if (stop) {
|
||||||
// There will be no further timer invocations now
|
// There will be no further timer invocations now
|
||||||
|
Loading…
x
Reference in New Issue
Block a user