alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Java example source code file (EpollTcpInfo.java)

This example Java source code file (EpollTcpInfo.java) is included in the alvinalexander.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Learn more about this Java project at its project page.

Java - Java tags/keywords

epolltcpinfo

The EpollTcpInfo.java Java example source code

/*
 * Copyright 2014 The Netty Project
 *
 * The Netty Project licenses this file to you 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 io.netty.channel.epoll;

/**
 * <p>
 * struct tcp_info
 * {
 *      __u8    tcpi_state;
 *      __u8    tcpi_ca_state;
 *      __u8    tcpi_retransmits;
 *      __u8    tcpi_probes;
 *      __u8    tcpi_backoff;
 *      __u8    tcpi_options;
 *      __u8    tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
 *
 *      __u32   tcpi_rto;
 *      __u32   tcpi_ato;
 *      __u32   tcpi_snd_mss;
 *      __u32   tcpi_rcv_mss;
 *
 *      __u32   tcpi_unacked;
 *      __u32   tcpi_sacked;
 *      __u32   tcpi_lost;
 *      __u32   tcpi_retrans;
 *      __u32   tcpi_fackets;
 *
 *      __u32   tcpi_last_data_sent;
 *      __u32   tcpi_last_ack_sent;
 *      __u32   tcpi_last_data_recv;
 *      __u32   tcpi_last_ack_recv;
 *
 *      __u32   tcpi_pmtu;
 *      __u32   tcpi_rcv_ssthresh;
 *      __u32   tcpi_rtt;
 *      __u32   tcpi_rttvar;
 *      __u32   tcpi_snd_ssthresh;
 *      __u32   tcpi_snd_cwnd;
 *      __u32   tcpi_advmss;
 *      __u32   tcpi_reordering;
 *
 *      __u32   tcpi_rcv_rtt;
 *      __u32   tcpi_rcv_space;
 *
 *      __u32   tcpi_total_retrans;
 * };
 * </p>
 */
public final class EpollTcpInfo {

    final int[] info = new int[32];

    public int state() {
        return info[0] & 0xFF;
    }

    public int caState() {
        return info[1] & 0xFF;
    }

    public int retransmits() {
        return info[2] & 0xFF;
    }

    public int probes() {
        return info[3] & 0xFF;
    }

    public int backoff() {
        return info[4] & 0xFF;
    }

    public int options() {
        return info[5] & 0xFF;
    }

    public int sndWscale() {
        return info[6] & 0xFF;
    }

    public int rcvWscale() {
        return info[7] & 0xFF;
    }

    public long rto() {
        return info[8] & 0xFFFFFFFFL;
    }

    public long ato() {
        return info[9] & 0xFFFFFFFFL;
    }

    public long sndMss() {
        return info[10] & 0xFFFFFFFFL;
    }

    public long rcvMss() {
        return info[11] & 0xFFFFFFFFL;
    }

    public long unacked() {
        return info[12] & 0xFFFFFFFFL;
    }

    public long sacked() {
        return info[13] & 0xFFFFFFFFL;
    }

    public long lost() {
        return info[14] & 0xFFFFFFFFL;
    }

    public long retrans() {
        return info[15] & 0xFFFFFFFFL;
    }

    public long fackets() {
        return info[16] & 0xFFFFFFFFL;
    }

    public long lastDataSent() {
        return info[17] & 0xFFFFFFFFL;
    }

    public long lastAckSent() {
        return info[18] & 0xFFFFFFFFL;
    }

    public long lastDataRecv() {
        return info[19] & 0xFFFFFFFFL;
    }

    public long lastAckRecv() {
        return info[20] & 0xFFFFFFFFL;
    }

    public long pmtu() {
        return info[21] & 0xFFFFFFFFL;
    }

    public long rcvSsthresh() {
        return info[22] & 0xFFFFFFFFL;
    }

    public long rtt() {
        return info[23] & 0xFFFFFFFFL;
    }

    public long rttvar() {
        return info[24] & 0xFFFFFFFFL;
    }

    public long sndSsthresh() {
        return info[25] & 0xFFFFFFFFL;
    }

    public long sndCwnd() {
        return info[26] & 0xFFFFFFFFL;
    }

    public long advmss() {
        return info[27] & 0xFFFFFFFFL;
    }

    public long reordering() {
        return info[28] & 0xFFFFFFFFL;
    }

    public long rcvRtt() {
        return info[29] & 0xFFFFFFFFL;
    }

    public long rcvSpace() {
        return info[30] & 0xFFFFFFFFL;
    }

    public long totalRetrans() {
        return info[31] & 0xFFFFFFFFL;
    }
}

Other Java examples (source code examples)

Here is a short list of links related to this Java EpollTcpInfo.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.