blob: d902a30e40aac8f3a19e3b6a5a6b2aa6b87e5ee6 [file] [log] [blame]
// SocketImpl.java - Abstract socket implementation.
/* Copyright (C) 1999 Free Software Foundation
This file is part of libgcj.
This software is copyrighted work licensed under the terms of the
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
package java.net;
import java.io.*;
/**
* @author Per Bothner <bothner@cygnus.com>
* @date January 6, 1999.
*/
/** Written using on-line Java Platform 1.2 API Specification.
* Believed complete and correct.
*/
public abstract class SocketImpl implements SocketOptions
{
protected InetAddress address;
protected FileDescriptor fd;
protected int localport;
protected int port;
public SocketImpl ()
{
}
protected abstract void create (boolean stream) throws IOException;
protected abstract void connect (String host, int port) throws IOException;
protected abstract void connect (InetAddress host, int port)
throws IOException;
protected abstract void bind (InetAddress host, int port) throws IOException;
protected abstract void listen (int backlog) throws IOException;
protected abstract void accept (SocketImpl s) throws IOException;
protected abstract InputStream getInputStream() throws IOException;
protected abstract OutputStream getOutputStream() throws IOException;
protected abstract int available () throws IOException;
protected abstract void close () throws IOException;
protected FileDescriptor getFileDescriptor () { return fd; }
protected InetAddress getInetAddress () { return address; }
protected int getPort () { return port; }
protected int getLocalPort () { return localport; }
public abstract Object getOption(int optID) throws SocketException;
public abstract void setOption(int optID, Object value)
throws SocketException;
public String toString ()
{
return "[addr=" + address.toString() + ",port=" + Integer.toString(port) +
",localport=" + Integer.toString(localport) + "]";
}
}