1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/l0km-dtalk

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
IPv4Option.java 1.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
10km Отправлено 12.11.2024 13:57 b744857
package gu.dtalk;
import java.net.InetAddress;
import com.gitee.l0km.com4j.basex.NetworkUtil;
import com.google.common.base.Predicate;
import com.google.common.base.Throwables;
/**
* IP(ipv4)地址选项类型
* @author guyadong
*
*/
public class IPv4Option extends BaseBinary {
public static final Predicate<byte[]> VALIDATOR = new Predicate<byte[]>() {
@Override
public boolean apply(byte[] input) {
return input != null && input.length==4;
}
};
public IPv4Option() {
setValidator(VALIDATOR);
}
@Override
public OptionType getType() {
return OptionType.IP;
}
@Override
public String contentOfValue() {
if(getValue() == null){
return super.contentOfValue();
}
return NetworkUtil.formatIp((byte[]) getValue());
}
public IPv4Option asValue(InetAddress input) {
try {
setValue(input.getAddress());
return this;
} catch (Throwable e) {
Throwables.throwIfUnchecked(e);
throw new RuntimeException(e);
}
}
public IPv4Option asDefaultValue(InetAddress input) {
try {
setDefaultValue(input.getAddress());
return this;
} catch (Throwable e) {
Throwables.throwIfUnchecked(e);
throw new RuntimeException(e);
}
}
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/l0km-dtalk.git
git@api.gitlife.ru:oschina-mirror/l0km-dtalk.git
oschina-mirror
l0km-dtalk
l0km-dtalk
master