当前位置: 首页>>代码示例>>Java>>正文


Java SctpSocketOption类代码示例

本文整理汇总了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;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:24,代码来源:SctpMultiChannelImpl.java

示例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);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:22,代码来源:SctpMultiChannelImpl.java

示例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");
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:25,代码来源:SctpNet.java

示例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;
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:20,代码来源:SctpNet.java

示例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;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:17,代码来源:SctpChannelImpl.java

示例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;
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:17,代码来源:SctpServerChannelImpl.java

示例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);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:15,代码来源:SctpMultiChannelImpl.java

示例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*/);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:SctpServerChannelImpl.java

示例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*/);
    }
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:SctpChannelImpl.java

示例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);
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:11,代码来源:SocketOptionTests.java

示例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);
    }
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:11,代码来源:SocketOptionTests.java

示例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);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:6,代码来源:SctpMultiChannelImpl.java

示例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);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:6,代码来源:SctpMultiChannelImpl.java

示例14: supportedOptions

import com.sun.nio.sctp.SctpSocketOption; //导入依赖的package包/类
@Override
public Set<SctpSocketOption<?>> supportedOptions() {
    throw new UnsupportedOperationException(message);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:5,代码来源:SctpMultiChannelImpl.java

示例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);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:6,代码来源:SctpServerChannelImpl.java


注:本文中的com.sun.nio.sctp.SctpSocketOption类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。