本文整理汇总了Java中com.sun.nio.sctp.SctpSocketOption类的典型用法代码示例。如果您正苦于以下问题:Java SctpSocketOption类的具体用法?Java SctpSocketOption怎么用?Java SctpSocketOption使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SctpSocketOption类属于com.sun.nio.sctp包,在下文中一共展示了SctpSocketOption类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: setOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
public <T> SctpMultiChannel setOption(SctpSocketOption<T> name,
T value,
Association association)
throws IOException {
if (name == null)
throw new NullPointerException();
if (!(supportedOptions().contains(name)))
throw new UnsupportedOperationException("'" + name + "' not supported");
synchronized (stateLock) {
if (association != null && (name.equals(SCTP_PRIMARY_ADDR) ||
name.equals(SCTP_SET_PEER_PRIMARY_ADDR))) {
checkAssociation(association);
}
if (!isOpen())
throw new ClosedChannelException();
int assocId = association == null ? 0 : association.associationID();
SctpNet.setSocketOption(fdVal, name, value, assocId);
}
return this;
}
示例2: getOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public <T> T getOption(SctpSocketOption<T> name, Association association)
throws IOException {
if (name == null)
throw new NullPointerException();
if (!supportedOptions().contains(name))
throw new UnsupportedOperationException("'" + name + "' not supported");
synchronized (stateLock) {
if (association != null && (name.equals(SCTP_PRIMARY_ADDR) ||
name.equals(SCTP_SET_PEER_PRIMARY_ADDR))) {
checkAssociation(association);
}
if (!isOpen())
throw new ClosedChannelException();
int assocId = association == null ? 0 : association.associationID();
return (T)SctpNet.getSocketOption(fdVal, name, assocId);
}
}
示例3: getSocketOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
static Object getSocketOption(int fd, SctpSocketOption<?> name, int assocId)
throws IOException {
if (name.equals(SCTP_SET_PEER_PRIMARY_ADDR)) {
throw new IllegalArgumentException(
"SCTP_SET_PEER_PRIMARY_ADDR cannot be retrieved");
} else if (name.equals(SCTP_INIT_MAXSTREAMS)) {
/* container for holding maxIn/Out streams */
int[] values = new int[2];
SctpNet.getInitMsgOption0(fd, values);
return InitMaxStreams.create(values[0], values[1]);
} else if (name.equals(SCTP_PRIMARY_ADDR)) {
return getPrimAddrOption0(fd, assocId);
} else if (name.equals(SCTP_DISABLE_FRAGMENTS) ||
name.equals(SCTP_EXPLICIT_COMPLETE) ||
name.equals(SCTP_FRAGMENT_INTERLEAVE) ||
name.equals(SCTP_NODELAY) ||
name.equals(SO_SNDBUF) ||
name.equals(SO_RCVBUF) ||
name.equals(SO_LINGER)) {
return getIntOption(fd, name);
} else {
throw new AssertionError("Unknown socket option");
}
}
示例4: getIntOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
static Object getIntOption(int fd, SctpSocketOption<?> name)
throws IOException {
Class<?> type = name.type();
if (type != Integer.class && type != Boolean.class)
throw new AssertionError("Should not reach here");
if (!(name instanceof SctpStdSocketOption))
throw new AssertionError("Should not reach here");
int value = getIntOption0(fd,
((SctpStdSocketOption)name).constValue());
if (type == Integer.class) {
return Integer.valueOf(value);
} else {
return (value == 0) ? Boolean.FALSE : Boolean.TRUE;
}
}
示例5: setOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
public <T> SctpChannel setOption(SctpSocketOption<T> name, T value)
throws IOException {
if (name == null)
throw new NullPointerException();
if (!supportedOptions().contains(name))
throw new UnsupportedOperationException("'" + name + "' not supported");
synchronized (stateLock) {
if (!isOpen())
throw new ClosedChannelException();
SctpNet.setSocketOption(fdVal, name, value, 0 /*oneToOne*/);
}
return this;
}
示例6: setOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
public <T> SctpServerChannel setOption(SctpSocketOption<T> name, T value)
throws IOException {
if (name == null)
throw new NullPointerException();
if (!supportedOptions().contains(name))
throw new UnsupportedOperationException("'" + name + "' not supported");
synchronized (stateLock) {
if (!isOpen())
throw new ClosedChannelException();
SctpNet.setSocketOption(fdVal, name, value, 0 /*oneToOne*/);
return this;
}
}
示例7: defaultOptions
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
private static Set<SctpSocketOption<?>> defaultOptions() {
HashSet<SctpSocketOption<?>> set = new HashSet<SctpSocketOption<?>>(10);
set.add(SCTP_DISABLE_FRAGMENTS);
set.add(SCTP_EXPLICIT_COMPLETE);
set.add(SCTP_FRAGMENT_INTERLEAVE);
set.add(SCTP_INIT_MAXSTREAMS);
set.add(SCTP_NODELAY);
set.add(SCTP_PRIMARY_ADDR);
set.add(SCTP_SET_PEER_PRIMARY_ADDR);
set.add(SO_SNDBUF);
set.add(SO_RCVBUF);
set.add(SO_LINGER);
return Collections.unmodifiableSet(set);
}
示例8: getOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public <T> T getOption(SctpSocketOption<T> name) throws IOException {
if (name == null)
throw new NullPointerException();
if (!supportedOptions().contains(name))
throw new UnsupportedOperationException("'" + name + "' not supported");
synchronized (stateLock) {
if (!isOpen())
throw new ClosedChannelException();
return (T) SctpNet.getSocketOption(fdVal, name, 0 /*oneToOne*/);
}
}
示例9: getOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
@SuppressWarnings("unchecked")
public <T> T getOption(SctpSocketOption<T> name) throws IOException {
if (name == null)
throw new NullPointerException();
if (!supportedOptions().contains(name))
throw new UnsupportedOperationException("'" + name + "' not supported");
synchronized (stateLock) {
if (!isOpen())
throw new ClosedChannelException();
return (T)SctpNet.getSocketOption(fdVal, name, 0 /*oneToOne*/);
}
}
示例10: optionalSupport
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
<T> void optionalSupport(SctpChannel sc, SctpSocketOption<T> name,
T value) {
try {
sc.setOption(name, value);
checkOption(sc, name, value);
} catch (IOException e) {
/* Informational only, not all options have native support */
out.println(name + " not supported. " + e);
}
}
示例11: optionalSupport
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
<T> void optionalSupport(SctpMultiChannel smc, SctpSocketOption<T> name,
T value) {
try {
smc.setOption(name, value, null);
checkOption(smc, name, value);
} catch (IOException e) {
/* Informational only, not all options have native support */
out.println(name + " not supported. " + e);
}
}
示例12: getOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
public <T> T getOption(SctpSocketOption<T> name,
Association association) throws IOException {
throw new UnsupportedOperationException(message);
}
示例13: setOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
public <T> SctpMultiChannel setOption(SctpSocketOption<T> name,
T value, Association association) throws IOException {
throw new UnsupportedOperationException(message);
}
示例14: supportedOptions
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
public Set<SctpSocketOption<?>> supportedOptions() {
throw new UnsupportedOperationException(message);
}
示例15: setOption
import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
public <T> SctpServerChannel setOption(SctpSocketOption<T> name,
T value) throws IOException {
throw new UnsupportedOperationException(message);
}