Sha256: 205c1da06b218c98b3c61ce028da7d6d71befa0a6d9020b5b900600e12213dae

Contents?: true

Size: 1.38 KB

Versions: 10

Compression:

Stored size: 1.38 KB

Contents

package com.toxi.net;

import java.io.*;
import java.net.*;

/**
 * @author Karsten Schmidt <info@postspectacular.com>
 */

class UDPConnection {

    /**
     * Default time-to-live duration
     */
    static int TTL = 10000;

    protected InetAddress ip;
    protected int port;

    protected long lastUpdate;

    UDPConnection(InetAddress ip, int port) {
        this.ip = ip;
        this.port = port;
        lastUpdate = System.currentTimeMillis();
    }

    public boolean isAlive() {
        return System.currentTimeMillis() - lastUpdate < TTL;
    }

    public void update() {
        lastUpdate = System.currentTimeMillis();
    }

    public void send(DatagramSocket socket, byte[] data) throws IOException {
        DatagramPacket sendPacket = new DatagramPacket(data, data.length, ip,
                port);
        socket.send(sendPacket);
    }

    public InetAddress getIP() {
        return ip;
    }

    public int getPort() {
        return port;
    }

    public long getLastUpdate() {
        return lastUpdate;
    }

    @Override
    public String toString() {
        return UDPConnection.buildHash(ip, port);
    }

    static final void setTTL(int ttl) {
        TTL = ttl;
    }

    public static final String buildHash(InetAddress ip, int port) {
        return ip.getHostAddress() + ":" + port;
    }
}

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
toxiclibs-2.0.0 src/com/toxi/net/UDPConnection.java
toxiclibs-1.0.0 src/com/toxi/net/UDPConnection.java
toxiclibs-0.9.3 src/com/toxi/net/UDPConnection.java
toxiclibs-0.9.2 src/com/toxi/net/UDPConnection.java
toxiclibs-0.9.1 src/com/toxi/net/UDPConnection.java
toxiclibs-0.9.0 src/com/toxi/net/UDPConnection.java
toxiclibs-0.8.0 src/com/toxi/net/UDPConnection.java
toxiclibs-0.6.0-java src/com/toxi/net/UDPConnection.java
toxiclibs-0.5.1-java src/com/toxi/net/UDPConnection.java
toxiclibs-0.5.0-java src/com/toxi/net/UDPConnection.java