2003-06-14 Michael Koch <konqueror@gmx.de>
+ * gnu/java/nio/FileChannelImpl.java
+ (map_address): Removed incorrect comment.
+ * gnu/java/nio/SelectorImpl.java
+ (register): Remove code duplication and code for file channel handling.
+ * gnu/java/nio/ServerSocketChannelImpl.java
+ (serverSocket): Renamed from sock_object.
+ (ServerSocketChannel): Initialize serverSocket.
+ (socket): Return serverSocket.
+ * gnu/java/nio/SocketChannelImpl.java
+ (socket): Renamed from sock_object.
+ (isConnectionPenging): Simplified.
+ (socket): Return socket.
+2003-06-14 Michael Koch <konqueror@gmx.de>
+
* java/security/BasicPermission.java:
New version from classpath.
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
+
package gnu.java.nio;
import java.io.EOFException;
public class FileChannelImpl extends FileChannel
{
- // GCJ LOCAL: This variable stores a pointer to the memory
- // where the file is mapped.
RawData map_address;
int length;
protected SelectionKey register (AbstractSelectableChannel ch, int ops,
Object att)
{
-// // filechannel is not selectable ?
-// if (ch instanceof FileChannelImpl)
-// {
-// FileChannelImpl fc = (FileChannelImpl) ch;
-// SelectionKeyImpl impl = new SelectionKeyImpl (ch, this, fc.fd);
-// keys.add (impl);
-// impl.interestOps (ops);
-// impl.attach (att);
-// return impl;
-// }
-// else
-
+ SelectionKeyImpl result;
+
if (ch instanceof SocketChannelImpl)
{
SocketChannelImpl sc = (SocketChannelImpl) ch;
- SelectionKeyImpl impl = new SelectionKeyImpl (ch, this, sc.fd);
- add (impl);
- impl.interestOps (ops);
- impl.attach (att);
- return impl;
+ result = new SelectionKeyImpl (ch, this, sc.fd);
}
else if (ch instanceof DatagramChannelImpl)
{
DatagramChannelImpl dc = (DatagramChannelImpl) ch;
- SelectionKeyImpl impl = new SelectionKeyImpl (ch, this, dc.fd);
- add (impl);
- impl.interestOps (ops);
- impl.attach (att);
- return impl;
+ result = new SelectionKeyImpl (ch, this, dc.fd);
}
else if (ch instanceof ServerSocketChannelImpl)
{
ServerSocketChannelImpl ssc = (ServerSocketChannelImpl) ch;
- SelectionKeyImpl impl = new SelectionKeyImpl (ch, this, ssc.fd);
- add (impl);
- impl.interestOps (ops);
- impl.attach (att);
- return impl;
+ result = new SelectionKeyImpl (ch, this, ssc.fd);
}
else
{
- System.err.println ("INTERNAL ERROR, no known channel type");
+ throw new InternalError ("No known channel type");
}
- return null;
+ add (result);
+ result.interestOps (ops);
+ result.attach (att);
+ return result;
}
}
class ServerSocketChannelImpl extends ServerSocketChannel
{
- ServerSocket sock_object;
+ ServerSocket serverSocket;
int fd;
// int local_port;
boolean blocking = true;
try
{
- sock_object = new ServerSocket ();
+ serverSocket = new ServerSocket ();
}
catch (IOException e)
{
public ServerSocket socket ()
{
- return sock_object;
+ return serverSocket;
}
}
obligated to do so. If you do not wish to do so, delete this
exception statement from your version. */
+
package gnu.java.nio;
import java.io.IOException;
public class SocketChannelImpl extends SocketChannel
{
- Socket sock_object;
+ Socket socket;
int fd;
int local_port;
boolean blocking = true;
public boolean isConnectionPending ()
{
- if (blocking)
- return true;
-
- return false;
+ return blocking ? true : false;
}
public Socket socket ()
{
- if (sock_object != null)
+ if (socket != null)
{
- //sock_object.ch = this;
+ //socket.ch = this;
}
- return sock_object;
+ return socket;
}
public int read (ByteBuffer dst) throws IOException