1 /*** 2 * 3 * Copyright 2004 Hiram Chirino 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 **/ 18 package org.activeio.net; 19 20 import java.net.InetAddress; 21 import java.net.SocketAddress; 22 import java.net.SocketException; 23 24 /*** 25 */ 26 public interface SocketMetadata { 27 public InetAddress getInetAddress(); 28 29 public boolean getKeepAlive() throws SocketException; 30 31 public InetAddress getLocalAddress(); 32 33 public int getLocalPort(); 34 35 public SocketAddress getLocalSocketAddress(); 36 37 public boolean getOOBInline() throws SocketException; 38 39 public int getPort(); 40 41 public int getReceiveBufferSize() throws SocketException; 42 43 public SocketAddress getRemoteSocketAddress(); 44 45 public boolean getReuseAddress() throws SocketException; 46 47 public int getSendBufferSize() throws SocketException; 48 49 public int getSoLinger() throws SocketException; 50 51 public int getSoTimeout() throws SocketException; 52 53 public boolean getTcpNoDelay() throws SocketException; 54 55 public int getTrafficClass() throws SocketException; 56 57 public boolean isBound(); 58 59 public boolean isClosed(); 60 61 public boolean isConnected(); 62 63 public void setKeepAlive(boolean on) throws SocketException; 64 65 public void setOOBInline(boolean on) throws SocketException; 66 67 public void setReceiveBufferSize(int size) throws SocketException; 68 69 public void setReuseAddress(boolean on) throws SocketException; 70 71 public void setSendBufferSize(int size) throws SocketException; 72 73 public void setSoLinger(boolean on, int linger) throws SocketException; 74 75 public void setTcpNoDelay(boolean on) throws SocketException; 76 77 public void setTrafficClass(int tc) throws SocketException; 78 }