/*
 * 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}
/** * 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(); } }