blob: af9a73ca31ee50fde5fe00d49f3bedbbfbb61750 [file] [log] [blame]
/*
* Copyright (C) 2017 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.net.metrics;
import android.net.MacAddress;
import java.util.StringJoiner;
/**
* An event logged when NFLOG notifies userspace of a wakeup packet for
* watched interfaces.
* {@hide}
*/
public class WakeupEvent {
public String iface;
public int uid;
public int ethertype;
public MacAddress dstHwAddr;
public String srcIp;
public String dstIp;
public int ipNextHeader;
public int srcPort;
public int dstPort;
public long timestampMs;
@Override
public String toString() {
StringJoiner j = new StringJoiner(", ", "WakeupEvent(", ")");
j.add(String.format("%tT.%tL", timestampMs, timestampMs));
j.add(iface);
j.add("uid: " + Integer.toString(uid));
j.add("eth=0x" + Integer.toHexString(ethertype));
j.add("dstHw=" + dstHwAddr);
if (ipNextHeader > 0) {
j.add("ipNxtHdr=" + ipNextHeader);
j.add("srcIp=" + srcIp);
j.add("dstIp=" + dstIp);
if (srcPort > -1) {
j.add("srcPort=" + srcPort);
}
if (dstPort > -1) {
j.add("dstPort=" + dstPort);
}
}
return j.toString();
}
}