tcptimer.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 59 行

JAVA
59
字号
/*
 * $Id: TCPTimer.java,v 1.1 2003/11/25 11:52:23 epr Exp $
 */
package org.jnode.net.ipv4.tcp;

import org.apache.log4j.Logger;

/**
 * @author Ewout Prangsma (epr@users.sourceforge.net)
 */
public class TCPTimer extends Thread {

	private final Logger log = Logger.getLogger(getClass());
	private final TCPControlBlockList cbList;
	private boolean stop = false;
	private long counter;
	private static int autoNr = 0;
	
	/** 
	 * Create a new instance
	 * @param cbList
	 */
	public TCPTimer(TCPControlBlockList cbList) {
		super(autoName());
		this.cbList = cbList;
	}
	
	/**
	 * Keep calling timeout forever.
	 * @see java.lang.Runnable#run()
	 */
	public void run() {
		while (!stop) {
			try {
				cbList.timeout();
				counter += TCPConstants.TCP_TIMER_PERIOD;
			} catch (Throwable ex) {
				log.error("Error in TCP timer", ex);
			}
			try {
			Thread.sleep(TCPConstants.TCP_TIMER_PERIOD);
			} catch (InterruptedException ex) {
				// Ignore
			}
		}
	}
	
	/**
	 * @return Returns the counter.
	 */
	public final long getCounter() {
		return this.counter;
	}
	
	private static synchronized String autoName() {
		return "tcp-timer-" + (autoNr++);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?