icmptimestampheader.java
来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 94 行
JAVA
94 行
/*
* $Id: ICMPTimestampHeader.java,v 1.1 2003/11/25 11:52:20 epr Exp $
*/
package org.jnode.net.ipv4.icmp;
import org.jnode.net.SocketBuffer;
/**
* @author epr
*/
public class ICMPTimestampHeader extends ICMPExHeader {
private final int originateTimestamp;
private final int receiveTimestamp;
private final int transmitTimestamp;
/**
* @param type
* @param identifier
* @param seqNumber
* @param originateTimestamp
* @param receiveTimestamp
* @param transmitTimestamp
*/
public ICMPTimestampHeader(
int type,
int identifier,
int seqNumber,
int originateTimestamp,
int receiveTimestamp,
int transmitTimestamp) {
super(type, 0, identifier, seqNumber);
if ((type != ICMP_TIMESTAMP) && (type != ICMP_TIMESTAMPREPLY)) {
throw new IllegalArgumentException("Invalid type " + type);
}
this.originateTimestamp = originateTimestamp;
this.receiveTimestamp = receiveTimestamp;
this.transmitTimestamp = transmitTimestamp;
}
/**
* @param skbuf
*/
public ICMPTimestampHeader(SocketBuffer skbuf) {
super(skbuf);
final int type = getType();
if ((type != ICMP_TIMESTAMP) && (type != ICMP_TIMESTAMPREPLY)) {
throw new IllegalArgumentException("Invalid type " + type);
}
this.originateTimestamp = skbuf.get32(8);
this.receiveTimestamp = skbuf.get32(12);
this.transmitTimestamp = skbuf.get32(16);
}
/**
* @see org.jnode.net.ipv4.icmp.ICMPHeader#doPrefixTo(org.jnode.net.SocketBuffer)
*/
protected void doPrefixTo(SocketBuffer skbuf) {
super.doPrefixTo(skbuf);
skbuf.set32(8, originateTimestamp);
skbuf.set32(12, receiveTimestamp);
skbuf.set32(16, transmitTimestamp);
}
/**
* @see org.jnode.net.LayerHeader#getLength()
*/
public int getLength() {
return 20;
}
/**
* Gets the originate timestamp
*/
public int getOriginateTimestamp() {
return originateTimestamp;
}
/**
* Gets the receive timestamp
*/
public int getReceiveTimestamp() {
return receiveTimestamp;
}
/**
* Gets the transmit timestamp
*/
public int getTransmitTimestamp() {
return transmitTimestamp;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?