aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/netaddr/Ice4jPacketLogger.java
blob: 180f6b5e58755fba3169484e341a593fdf5bc053 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
package net.java.sip.communicator.impl.netaddr;

import org.ice4j.stack.*;
import org.jitsi.service.packetlogging.*;

/**
 * Logs Packets coming and going through ice4j stack.
 *
 * @author Damian Minkov
 */
public class Ice4jPacketLogger
    implements PacketLogger
{
    /**
     * Logs a incoming or outgoing packet.
     *
     * @param sourceAddress the source address of the packet.
     * @param sourcePort the source port.
     * @param destinationAddress the destination address of the packet.
     * @param destinationPort the destination port.
     * @param packetContent the content of the packet.
     * @param sender whether we are sending or not the packet.
     */
    public void logPacket(
            byte[] sourceAddress,
            int sourcePort,
            byte[] destinationAddress,
            int destinationPort,
            byte[] packetContent,
            boolean sender)
    {
        if (isEnabled())
        {
            NetaddrActivator.getPacketLogging().logPacket(
                    PacketLoggingService.ProtocolName.ICE4J,
                    sourceAddress,
                    sourcePort,
                    destinationAddress,
                    destinationPort,
                    PacketLoggingService.TransportName.UDP,
                    sender,
                    packetContent);
        }
    }

    /**
     * Checks whether the logger is enabled.
     *
     * @return <tt>true</tt> if the logger is enabled; <tt>false</tt>,
     * otherwise
     */
    public boolean isEnabled()
    {
        PacketLoggingService packetLoggingService
            = NetaddrActivator.getPacketLogging();

        return
            (packetLoggingService != null)
                && packetLoggingService.isLoggingEnabled(
                        PacketLoggingService.ProtocolName.ICE4J);
    }
}