Revert "Put client logs into SharedLog and dump more logs"
Revert submission 2535219 Reason for revert: Build break Reverted changes: /q/submissionid:2535219 Change-Id: I4bb88b77c77254bb2f806c9e88b91dd304ad24bf
This commit is contained in:
committed by
Gerrit Code Review
parent
eaa99274bd
commit
b8a3a634a7
@@ -44,7 +44,6 @@ import android.net.nsd.INsdServiceConnector;
|
|||||||
import android.net.nsd.MDnsManager;
|
import android.net.nsd.MDnsManager;
|
||||||
import android.net.nsd.NsdManager;
|
import android.net.nsd.NsdManager;
|
||||||
import android.net.nsd.NsdServiceInfo;
|
import android.net.nsd.NsdServiceInfo;
|
||||||
import android.os.Binder;
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.HandlerThread;
|
import android.os.HandlerThread;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
@@ -57,12 +56,10 @@ import android.util.Log;
|
|||||||
import android.util.SparseArray;
|
import android.util.SparseArray;
|
||||||
|
|
||||||
import com.android.internal.annotations.VisibleForTesting;
|
import com.android.internal.annotations.VisibleForTesting;
|
||||||
import com.android.internal.util.IndentingPrintWriter;
|
|
||||||
import com.android.internal.util.State;
|
import com.android.internal.util.State;
|
||||||
import com.android.internal.util.StateMachine;
|
import com.android.internal.util.StateMachine;
|
||||||
import com.android.net.module.util.DeviceConfigUtils;
|
import com.android.net.module.util.DeviceConfigUtils;
|
||||||
import com.android.net.module.util.PermissionUtils;
|
import com.android.net.module.util.PermissionUtils;
|
||||||
import com.android.net.module.util.SharedLog;
|
|
||||||
import com.android.server.connectivity.mdns.ExecutorProvider;
|
import com.android.server.connectivity.mdns.ExecutorProvider;
|
||||||
import com.android.server.connectivity.mdns.MdnsAdvertiser;
|
import com.android.server.connectivity.mdns.MdnsAdvertiser;
|
||||||
import com.android.server.connectivity.mdns.MdnsDiscoveryManager;
|
import com.android.server.connectivity.mdns.MdnsDiscoveryManager;
|
||||||
@@ -162,7 +159,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
private final MdnsSocketProvider mMdnsSocketProvider;
|
private final MdnsSocketProvider mMdnsSocketProvider;
|
||||||
@NonNull
|
@NonNull
|
||||||
private final MdnsAdvertiser mAdvertiser;
|
private final MdnsAdvertiser mAdvertiser;
|
||||||
private final SharedLog mServiceLogs = new SharedLog(TAG);
|
|
||||||
// WARNING : Accessing these values in any thread is not safe, it must only be changed in the
|
// WARNING : Accessing these values in any thread is not safe, it must only be changed in the
|
||||||
// state machine thread. If change this outside state machine, it will need to introduce
|
// state machine thread. If change this outside state machine, it will need to introduce
|
||||||
// synchronization.
|
// synchronization.
|
||||||
@@ -183,8 +179,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
private int mUniqueId = 1;
|
private int mUniqueId = 1;
|
||||||
// The count of the connected legacy clients.
|
// The count of the connected legacy clients.
|
||||||
private int mLegacyClientCount = 0;
|
private int mLegacyClientCount = 0;
|
||||||
// The number of client that ever connected.
|
|
||||||
private int mClientNumberId = 1;
|
|
||||||
|
|
||||||
private static class MdnsListener implements MdnsServiceBrowserListener {
|
private static class MdnsListener implements MdnsServiceBrowserListener {
|
||||||
protected final int mClientId;
|
protected final int mClientId;
|
||||||
@@ -338,7 +332,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
mMDnsManager.startDaemon();
|
mMDnsManager.startDaemon();
|
||||||
mIsDaemonStarted = true;
|
mIsDaemonStarted = true;
|
||||||
maybeScheduleStop();
|
maybeScheduleStop();
|
||||||
mServiceLogs.log("Start mdns_responder daemon");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void maybeStopDaemon() {
|
private void maybeStopDaemon() {
|
||||||
@@ -349,7 +342,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
mMDnsManager.unregisterEventListener(mMDnsEventCallback);
|
mMDnsManager.unregisterEventListener(mMDnsEventCallback);
|
||||||
mMDnsManager.stopDaemon();
|
mMDnsManager.stopDaemon();
|
||||||
mIsDaemonStarted = false;
|
mIsDaemonStarted = false;
|
||||||
mServiceLogs.log("Stop mdns_responder daemon");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isAnyRequestActive() {
|
private boolean isAnyRequestActive() {
|
||||||
@@ -409,9 +401,7 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
final INsdManagerCallback cb = arg.callback;
|
final INsdManagerCallback cb = arg.callback;
|
||||||
try {
|
try {
|
||||||
cb.asBinder().linkToDeath(arg.connector, 0);
|
cb.asBinder().linkToDeath(arg.connector, 0);
|
||||||
final String tag = "Client" + arg.uid + "-" + mClientNumberId++;
|
cInfo = new ClientInfo(cb, arg.useJavaBackend);
|
||||||
cInfo = new ClientInfo(cb, arg.useJavaBackend,
|
|
||||||
mServiceLogs.forSubComponent(tag));
|
|
||||||
mClients.put(arg.connector, cInfo);
|
mClients.put(arg.connector, cInfo);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.w(TAG, "Client " + clientId + " has already died");
|
Log.w(TAG, "Client " + clientId + " has already died");
|
||||||
@@ -638,8 +628,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
listenServiceType, listener, options);
|
listenServiceType, listener, options);
|
||||||
storeDiscoveryManagerRequestMap(clientId, id, listener, clientInfo);
|
storeDiscoveryManagerRequestMap(clientId, id, listener, clientInfo);
|
||||||
clientInfo.onDiscoverServicesStarted(clientId, info);
|
clientInfo.onDiscoverServicesStarted(clientId, info);
|
||||||
clientInfo.log("Register a DiscoveryListener " + id
|
|
||||||
+ " for service type:" + listenServiceType);
|
|
||||||
} else {
|
} else {
|
||||||
maybeStartDaemon();
|
maybeStartDaemon();
|
||||||
if (discoverServices(id, info)) {
|
if (discoverServices(id, info)) {
|
||||||
@@ -681,7 +669,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
if (request instanceof DiscoveryManagerRequest) {
|
if (request instanceof DiscoveryManagerRequest) {
|
||||||
stopDiscoveryManagerRequest(request, clientId, id, clientInfo);
|
stopDiscoveryManagerRequest(request, clientId, id, clientInfo);
|
||||||
clientInfo.onStopDiscoverySucceeded(clientId);
|
clientInfo.onStopDiscoverySucceeded(clientId);
|
||||||
clientInfo.log("Unregister the DiscoveryListener " + id);
|
|
||||||
} else {
|
} else {
|
||||||
removeRequestMap(clientId, id, clientInfo);
|
removeRequestMap(clientId, id, clientInfo);
|
||||||
if (stopServiceDiscovery(id)) {
|
if (stopServiceDiscovery(id)) {
|
||||||
@@ -817,8 +804,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
mMdnsDiscoveryManager.registerListener(
|
mMdnsDiscoveryManager.registerListener(
|
||||||
resolveServiceType, listener, options);
|
resolveServiceType, listener, options);
|
||||||
storeDiscoveryManagerRequestMap(clientId, id, listener, clientInfo);
|
storeDiscoveryManagerRequestMap(clientId, id, listener, clientInfo);
|
||||||
clientInfo.log("Register a ResolutionListener " + id
|
|
||||||
+ " for service type:" + resolveServiceType);
|
|
||||||
} else {
|
} else {
|
||||||
if (clientInfo.mResolvedService != null) {
|
if (clientInfo.mResolvedService != null) {
|
||||||
clientInfo.onResolveServiceFailed(
|
clientInfo.onResolveServiceFailed(
|
||||||
@@ -861,7 +846,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
if (request instanceof DiscoveryManagerRequest) {
|
if (request instanceof DiscoveryManagerRequest) {
|
||||||
stopDiscoveryManagerRequest(request, clientId, id, clientInfo);
|
stopDiscoveryManagerRequest(request, clientId, id, clientInfo);
|
||||||
clientInfo.onStopResolutionSucceeded(clientId);
|
clientInfo.onStopResolutionSucceeded(clientId);
|
||||||
clientInfo.log("Unregister the ResolutionListener " + id);
|
|
||||||
} else {
|
} else {
|
||||||
removeRequestMap(clientId, id, clientInfo);
|
removeRequestMap(clientId, id, clientInfo);
|
||||||
if (stopResolveService(id)) {
|
if (stopResolveService(id)) {
|
||||||
@@ -907,8 +891,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
mMdnsDiscoveryManager.registerListener(
|
mMdnsDiscoveryManager.registerListener(
|
||||||
resolveServiceType, listener, options);
|
resolveServiceType, listener, options);
|
||||||
storeDiscoveryManagerRequestMap(clientId, id, listener, clientInfo);
|
storeDiscoveryManagerRequestMap(clientId, id, listener, clientInfo);
|
||||||
clientInfo.log("Register a ServiceInfoListener " + id
|
|
||||||
+ " for service type:" + resolveServiceType);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case NsdManager.UNREGISTER_SERVICE_CALLBACK: {
|
case NsdManager.UNREGISTER_SERVICE_CALLBACK: {
|
||||||
@@ -932,7 +914,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
if (request instanceof DiscoveryManagerRequest) {
|
if (request instanceof DiscoveryManagerRequest) {
|
||||||
stopDiscoveryManagerRequest(request, clientId, id, clientInfo);
|
stopDiscoveryManagerRequest(request, clientId, id, clientInfo);
|
||||||
clientInfo.onServiceInfoCallbackUnregistered(clientId);
|
clientInfo.onServiceInfoCallbackUnregistered(clientId);
|
||||||
clientInfo.log("Unregister the ServiceInfoListener " + id);
|
|
||||||
} else {
|
} else {
|
||||||
loge("Unregister failed with non-DiscoveryManagerRequest.");
|
loge("Unregister failed with non-DiscoveryManagerRequest.");
|
||||||
}
|
}
|
||||||
@@ -1564,14 +1545,12 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
@NonNull public final NsdServiceConnector connector;
|
@NonNull public final NsdServiceConnector connector;
|
||||||
@NonNull public final INsdManagerCallback callback;
|
@NonNull public final INsdManagerCallback callback;
|
||||||
public final boolean useJavaBackend;
|
public final boolean useJavaBackend;
|
||||||
public final int uid;
|
|
||||||
|
|
||||||
ConnectorArgs(@NonNull NsdServiceConnector connector, @NonNull INsdManagerCallback callback,
|
ConnectorArgs(@NonNull NsdServiceConnector connector, @NonNull INsdManagerCallback callback,
|
||||||
boolean useJavaBackend, int uid) {
|
boolean useJavaBackend) {
|
||||||
this.connector = connector;
|
this.connector = connector;
|
||||||
this.callback = callback;
|
this.callback = callback;
|
||||||
this.useJavaBackend = useJavaBackend;
|
this.useJavaBackend = useJavaBackend;
|
||||||
this.uid = uid;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1580,9 +1559,9 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.INTERNET, "NsdService");
|
mContext.enforceCallingOrSelfPermission(android.Manifest.permission.INTERNET, "NsdService");
|
||||||
if (DBG) Log.d(TAG, "New client connect. useJavaBackend=" + useJavaBackend);
|
if (DBG) Log.d(TAG, "New client connect. useJavaBackend=" + useJavaBackend);
|
||||||
final INsdServiceConnector connector = new NsdServiceConnector();
|
final INsdServiceConnector connector = new NsdServiceConnector();
|
||||||
mNsdStateMachine.sendMessage(mNsdStateMachine.obtainMessage(NsdManager.REGISTER_CLIENT,
|
mNsdStateMachine.sendMessage(mNsdStateMachine.obtainMessage(
|
||||||
new ConnectorArgs((NsdServiceConnector) connector, cb, useJavaBackend,
|
NsdManager.REGISTER_CLIENT,
|
||||||
Binder.getCallingUid())));
|
new ConnectorArgs((NsdServiceConnector) connector, cb, useJavaBackend)));
|
||||||
return connector;
|
return connector;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1781,39 +1760,15 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
|
public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
|
||||||
if (!PermissionUtils.checkDumpPermission(mContext, TAG, writer)) return;
|
if (!PermissionUtils.checkDumpPermission(mContext, TAG, pw)) return;
|
||||||
|
|
||||||
|
for (ClientInfo client : mClients.values()) {
|
||||||
|
pw.println("Client Info");
|
||||||
|
pw.println(client);
|
||||||
|
}
|
||||||
|
|
||||||
final IndentingPrintWriter pw = new IndentingPrintWriter(writer, " ");
|
|
||||||
// Dump state machine logs
|
|
||||||
mNsdStateMachine.dump(fd, pw, args);
|
mNsdStateMachine.dump(fd, pw, args);
|
||||||
|
|
||||||
// Dump service and clients logs
|
|
||||||
pw.println();
|
|
||||||
pw.increaseIndent();
|
|
||||||
mServiceLogs.reverseDump(pw);
|
|
||||||
pw.decreaseIndent();
|
|
||||||
|
|
||||||
// Dump advertiser related logs
|
|
||||||
pw.println();
|
|
||||||
pw.println("Advertiser:");
|
|
||||||
pw.increaseIndent();
|
|
||||||
mAdvertiser.dump(pw);
|
|
||||||
pw.decreaseIndent();
|
|
||||||
|
|
||||||
// Dump discoverymanager related logs
|
|
||||||
pw.println();
|
|
||||||
pw.println("DiscoveryManager:");
|
|
||||||
pw.increaseIndent();
|
|
||||||
mMdnsDiscoveryManager.dump(pw);
|
|
||||||
pw.decreaseIndent();
|
|
||||||
|
|
||||||
// Dump socketprovider related logs
|
|
||||||
pw.println();
|
|
||||||
pw.println("SocketProvider:");
|
|
||||||
pw.increaseIndent();
|
|
||||||
mMdnsSocketProvider.dump(pw);
|
|
||||||
pw.decreaseIndent();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private abstract static class ClientRequest {
|
private abstract static class ClientRequest {
|
||||||
@@ -1864,14 +1819,11 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
private boolean mIsPreSClient = false;
|
private boolean mIsPreSClient = false;
|
||||||
// The flag of using java backend if the client's target SDK >= U
|
// The flag of using java backend if the client's target SDK >= U
|
||||||
private final boolean mUseJavaBackend;
|
private final boolean mUseJavaBackend;
|
||||||
// Store client logs
|
|
||||||
private final SharedLog mClientLogs;
|
|
||||||
|
|
||||||
private ClientInfo(INsdManagerCallback cb, boolean useJavaBackend, SharedLog sharedLog) {
|
private ClientInfo(INsdManagerCallback cb, boolean useJavaBackend) {
|
||||||
mCb = cb;
|
mCb = cb;
|
||||||
mUseJavaBackend = useJavaBackend;
|
mUseJavaBackend = useJavaBackend;
|
||||||
mClientLogs = sharedLog;
|
if (DBG) Log.d(TAG, "New client");
|
||||||
mClientLogs.log("New client. useJavaBackend=" + useJavaBackend);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1909,7 +1861,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
// Remove any pending requests from the global map when we get rid of a client,
|
// Remove any pending requests from the global map when we get rid of a client,
|
||||||
// and send cancellations to the daemon.
|
// and send cancellations to the daemon.
|
||||||
private void expungeAllRequests() {
|
private void expungeAllRequests() {
|
||||||
mClientLogs.log("Client unregistered. expungeAllRequests!");
|
|
||||||
// TODO: to keep handler responsive, do not clean all requests for that client at once.
|
// TODO: to keep handler responsive, do not clean all requests for that client at once.
|
||||||
for (int i = 0; i < mClientRequests.size(); i++) {
|
for (int i = 0; i < mClientRequests.size(); i++) {
|
||||||
final int clientId = mClientRequests.keyAt(i);
|
final int clientId = mClientRequests.keyAt(i);
|
||||||
@@ -1964,10 +1915,6 @@ public class NsdService extends INsdManager.Stub {
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void log(String message) {
|
|
||||||
mClientLogs.log(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
void onDiscoverServicesStarted(int listenerKey, NsdServiceInfo info) {
|
void onDiscoverServicesStarted(int listenerKey, NsdServiceInfo info) {
|
||||||
try {
|
try {
|
||||||
mCb.onDiscoverServicesStarted(listenerKey, info);
|
mCb.onDiscoverServicesStarted(listenerKey, info);
|
||||||
|
|||||||
Reference in New Issue
Block a user