查看本类的 API文档回源码主页即时通讯网 - 即时通讯开发者社区!
1   /*
2    * Copyright 2011 The Netty Project
3    *
4    * The Netty Project licenses this file to you under the Apache License,
5    * version 2.0 (the "License"); you may not use this file except in compliance
6    * with the License. You may obtain a copy of the License at:
7    *
8    * https://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12   * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13   * License for the specific language governing permissions and limitations
14   * under the License.
15   */
16  package com.sun.nio.sctp;
17  
18  import java.io.IOException;
19  import java.net.InetAddress;
20  import java.net.SocketAddress;
21  import java.nio.ByteBuffer;
22  import java.nio.channels.spi.AbstractSelectableChannel;
23  import java.nio.channels.spi.SelectorProvider;
24  import java.util.Set;
25  
26  @SuppressWarnings("all")
27  public abstract class SctpChannel extends AbstractSelectableChannel {
28      static {
29          UnsupportedOperatingSystemException.raise();
30      }
31  
32      public static SctpChannel open() throws IOException {
33          return null;
34      }
35      
36      protected SctpChannel(SelectorProvider provider) {
37          super(provider);
38      }
39  
40      public abstract <T> T getOption(SctpSocketOption<T> name) throws IOException;
41      public abstract <T> SctpChannel setOption(SctpSocketOption<T> name, T value) throws IOException;
42  
43      public abstract Set<SocketAddress> getAllLocalAddresses() throws IOException;
44      public abstract Set<SocketAddress> getRemoteAddresses() throws IOException;
45  
46      public abstract Association association() throws IOException;
47      public abstract SctpChannel bind(SocketAddress local) throws IOException;
48      public abstract boolean connect(SocketAddress remote) throws IOException;
49      public abstract boolean finishConnect() throws IOException;
50  
51      public abstract SctpChannel bindAddress(InetAddress inetAddress) throws IOException;
52      public abstract SctpChannel unbindAddress(InetAddress inetAddress) throws IOException;
53  
54      public abstract <T> MessageInfo receive(ByteBuffer dst, T attachment, NotificationHandler<T> handler) throws IOException;
55      public abstract int send(ByteBuffer src, MessageInfo messageInfo) throws IOException;
56      
57      public abstract Set<SctpSocketOption<?>> supportedOptions();
58  }