Commit graph

15 commits

Author SHA1 Message Date
Michael Koch
9e54846fac PipeImpl.java: Use VMPipe for native stuff.
2004-09-24  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/PipeImpl.java: Use VMPipe for native stuff.
	* gnu/java/nio/SelectorImpl.java: Use VMSelector for native stuff.
	* gnu/java/nio/VMPipe.java,
	gnu/java/nio/VMSelector.java:
	New files.
	* gnu/java/nio/natPipeImplEcos.cc,
	gnu/java/nio/natPipeImplPosix.cc,
	gnu/java/nio/natPipeImplWin32.cc:
	Ported to VMPipe.
	* gnu/java/nio/natSelectorImplEcos.cc,
	gnu/java/nio/natSelectorImplPosix.cc,
	gnu/java/nio/natSelectorImplWin32.cc:
	Ported to VMSelector.
	* Makefile.am: Added new files gnu/java/nio/VMPipe.java and
	gnu/java/nio/VMSelector.java.
	* Makefile.in: Regenerated.

From-SVN: r88014
2004-09-24 06:41:57 +00:00
Mark Wielaard
2e54a860a8 SelectorImpl.java (select): Call static Thread interrupted() method to clear interupt flag of our Thread.
2004-07-09  Mark Wielaard  <mark@klomp.org>

	* gnu/java/nio/SelectorImpl.java (select): Call static Thread
	interrupted() method to clear interupt flag of our Thread.

From-SVN: r84367
2004-07-09 13:56:08 +00:00
Mohan Embar
677f99cce5 * gnu/java/nio/SelectorImpl.java
(selectThreadMutex): New field.
	(selectThread): New field.
	(unhandledWakeup): New field.
	(implCloseSelector): Added skeleton code which
	synchronizes as per Sun JRE JavaDoc.
	(keys): Throw ClosedSelectorException if selector
	is closed.
	(selectNow): Added comment that we're faking out
	an immediate select with a one-microsecond-timeout one.
	(select): Use 0 instead of -1 for infinite timeout.
	(implSelect): Changed comment in declaration.
	(select): Added synchronized to method declaration.
	Added synchronization and wakeup support as per Sun
	JRE JavaDoc.
	(selectedKeys): Throw ClosedSelectorException if selector
	is closed.
	(wakeup): Implemented.
	(deregisterCancelledKeys): Synchronize on cancelled key
	set before deregistering.
	(register): Synchronize on key set before registering.
	* java/nio/channels/spi/AbstractSelector.java
	Added import for java.nio.channels.ClosedSelectorException.
	(close): Added synchronized to method declaration.
	(cancelledKeys): Throw ClosedSelectorException if selector
	is closed.
	(cancelKey): Synchronize on cancelled key set before key.

From-SVN: r74879
2003-12-20 15:33:24 +00:00
Michael Koch
25a23f3b26 2003-12-09 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectorImpl.java
	(implSelect): Throws IOException.
	(select): Likewise.

From-SVN: r74468
2003-12-09 15:34:07 +00:00
Michael Koch
598e749df6 2003-12-02 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/DatagramChannelImpl.java
	(blocking): Initialize with true by default.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(serverSocket): Made private.
	(blocking): Likewise.
	(connected): Likewise.
	* gnu/java/nio/SocketChannelImpl.java
	(connectionPending): Made private.
	* gnu/java/nio/FileLockImpl.java
	(static): Load native library (needed for classpath).
	* gnu/java/nio/SelectorImpl.java
	(static): Load native library (needed for classpath).

From-SVN: r74181
2003-12-02 15:03:21 +00:00
Michael Koch
137f5e8417 SelectorImpl.java (register): Use ServerSocketChannelSelectionKey for server socket channels...
2003-10-09  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectorImpl.java (register):
	Use ServerSocketChannelSelectionKey for server socket channels,
	removed unneeded comments.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(ServerSocketChannelImpl): Made class public final.
	(impl): New member variable.
	(ServerSocketChannelImpl): Initialize member variables correctly.
	(initServerSocket): New method.
	(getNativeFD): Likewise.
	* gnu/java/nio/ServerSocketChannelSelectionKey.java,
	gnu/java/nio/natServerSocketChannelImpl.cc: New files.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/ServerSocketChannelSelectionKey.java.
	(nat_source_files): Added gnu/java/nio/natServerSocketChannelImpl.cc.
	* Makefile.in: Regenrated.

From-SVN: r72277
2003-10-09 18:01:08 +00:00
Jeff Sturm
eac559b624 Fix build failure.
* gnu/java/nio/SelectorImpl.java (getFDsAsArray): Use getNativeFD().
(select): Likewise.
(register): Use DatagramChannelSelectionKey, SocketChannelSelectionKey.

From-SVN: r71812
2003-09-26 03:50:45 +00:00
Michael Koch
c5fd8041ed 2003-09-25 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectorImpl.java
	(implSelect): Renamed from java_do_select.
	(select): Call native implSelect() and add support for Thread
	interruption.
	* gnu/java/nio/natSelectorImpl.cc
	(implSelect): Renamed from java_do_select.

From-SVN: r71781
2003-09-25 17:09:23 +00:00
Michael Koch
6cbaf0385b 2003-09-25 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectorImpl.java
	(selectNow): Made final, throws IOException.
	(select): Likewise.
	(getFDsAsArray): Made final.
	(selectedKeys): Likewise.
	(wakeup): Likewise.
	(deregisterCancelledKeys): Likewise.
	(register): Likewise.
	(ass): Removed.
	(add_selected): Removed.
	* gnu/java/nio/natSelectorImpl.cc:
	No need to include bstring.h or gcj/cni.h.
	(helper_put_filedescriptors): Rewritten.
	(helper_get_filedescriptors): Rewritten.

From-SVN: r71779
2003-09-25 15:35:21 +00:00
Michael Koch
21e69789dd 2003-09-25 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/DatagramChannelImpl.java
	(DatagramChannelImpl): Made class final.
	(blocking): Made private.
	(socket): Made it a NIODatagramSocket and private.
	(DatagramChannelImpl): create NIODatagramSocket instead of
	DatagramSocket.
	(implConfigureBlocking): Set socket timeout.
	(connect): Check that channel is not closed.
	(write): Implemented.
	(write): Rewritten.
	(read): Implemented.
	(read): Rewritten.
	(receive): Implemented.
	(send): Implemented.
	* gnu/java/nio/SelectionKeyImpl.java
	(readyOps): Made private.
	(interestOps): Made private.
	(impl): Made private.
	(ch): Made private.
	(readyOps): Check if selection key is valid.
	(interestOps): Likewise.
	* gnu/java/nio/SelectorImpl.java
	(closed): Removed.
	(keys): Made private.
	(selected): Made private.
	(finalize): New method.
	(implCloseSelector): Rewritten.
	(keys): Return unmodifiable Set.
	(deregisterCancelledKeys): Fixed typo in method name.
	* gnu/java/nio/SocketChannelImpl.java
	(SocketChannelImpl): Made class final.
	(socket): Made it a NIOSocket and private.
	(blocking): Made private.
	(connected): Made private.
	(connectionPending): New member variable.
	(SocketChannelImpl): New implementation.
	(finalizer): Use isConnected().
	(connect): Rewritten.
	(finishConnect): Throws IOException, implemented.
	(isConnectionPending): Return connectionPending.
	(read): Rewritten.
	(write): Rewritten.
	* gnu/java/nio/NIOConstants.java: New file.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/NIOConstants.java.
	* Makefile.in: Regenerated.

From-SVN: r71769
2003-09-25 10:17:00 +00:00
Michael Koch
299f5809e2 2003-06-18 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectorImpl.java
	(register): Use fd with value 0 for now, will be fixed later.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(fd): Removed.
	(local_port): Removed.
	(InetSocketAddress): Removed.
	(ServerSocketChannelImpl): Just initialize internal socket object.
	(implCloseSelectableChannel): Close internal socket object.
	(implConfigureBlocking): Added comment.
	(accept): Use jaba.net stuff to accept socket.
	* gnu/java/nio/SocketChannelImpl.java
	(fd): Removed.
	(local_port): Removed.
	(InetSocketAddress): Removed.
	(SocketCreate): Removed.
	(SocketConnect): Removed.
	(SocketBind): Removed.
	(SocketListen): Removed.
	(SocketAvailable): Removed.
	(SocketClose): Removed.
	(SocketRead): Removed.
	(SocketWrite): Removed.
	(SocketChannelImpl): Just initialize internal socket object.
	(implCloseSelectableChannel): Close internal socket object.
	(implConfigureBlocking): Fixed implementation, added comment.
	(connect): Use internal socket object to connect.
	(socket): No need for sanity checks.
	(read): Comment out some stuff, this will be reimplemented in the next
	commit.
	(write): Likewise.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Line wrapped.
	* gnu/java/nio/natSocketChannelImpl.cc: Removed.
	* Makefile.am
	(nat_source_files): Removeded gnu/java/nio/natSocketChannelImpl.cc.
	* Makefile.in: Regenerated.

From-SVN: r68145
2003-06-18 08:56:55 +00:00
Michael Koch
81d2d258f5 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.

From-SVN: r67940
2003-06-14 11:53:02 +00:00
Michael Koch
cc1b3d6b64 2003-05-14 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileLockImpl.java
	(released): New member variable.
	(FileLockImpl): Initialize released.
	(releaseImpl): New native method.
	(release): Implemented.
	* gnu/java/nio/SelectorImpl.java: Reformatted.
	* gnu/java/nio/SelectionKeyImpl.java: Reformatted.
	* gnu/java/nio/ServerSocketChannelImpl.java: Reformatted.
	(accept): Throws IOException.
	* gnu/java/nio/SocketChannelImpl.java: Reformatted.
	(implConfigureBlocking): Throws IOException.
	(connect): Likewise.
	(read): Likewise.
	(write): Likewise.
	* gnu/java/nio/natFileLockImpl.cc: New file.
	* java/nio/channels/FileLock.java: Reformatted.
	* Makefile.am:
	(ordinary_java_source_files): Added gnu/java/nio/FileLockImpl.java.
	(nat_source_files): Added gnu/java/nio/natFileLockImpl.cc.
	* Makefile.in: Regenerated.

From-SVN: r66799
2003-05-14 06:37:59 +00:00
Michael Koch
a4536c7a94 2002-11-29 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/DatagramChannelImpl:
	(fd): New member variable to store file descriptor of socket.
	* gnu/java/nio/SelectionKeyImpl.java:
	(ops): Removed.
	(readyOps): New member variable.
	(interestOps): New member variable.
	(readyOps): Implemented.
	(readyOps): New method to set member variable readyOps.
	(interestOps): Replaced ops by interestOps.
	* gnu/java/nio/SelectorImpl.java:
	(SelectorImpl): Initialize key sets.
	(select): Call select with -1 instead of Long.MAX_VALUE).
	(java_do_select): Make it a native method.
	(getFDsAsArray): New helper method.
	(select): Remove canceled keys, give only interested file discriptors
	to java_do_select, set ready ops.
	(add): No need to initialize keys set here.
	(add_selected): No need to initialize selected set here.
	(deregisterCanceledKeys): New helper method.
	(register): Set interest ops, set attachments, added handling of datagram
	channels.
	* gnu/java/nio/ServerSocketChannelImpl:
	(SocketAccept): Renamed from NioSocketAccept.
	(implConfigureBlocking): Implemented.
	(accept): Use SocketAccept instead of NioSocketAccept.
	* gnu/java/nio/SocketChannelImpl:
	Reactivate native methods.

From-SVN: r59632
2002-11-29 09:57:05 +00:00
Michael Koch
48f5b6723a ByteBufferImpl.java, [...]: New files.
2002-11-18  Michael Koch <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java,
	gnu/java/nio/CharBufferImpl.java,
	gnu/java/nio/DatagramChannelImpl.java,
	gnu/java/nio/DoubleBufferImpl.java,
	gnu/java/nio/FileChannelImpl.java,
	gnu/java/nio/FloatBufferImpl.java,
	gnu/java/nio/IntBufferImpl.java,
	gnu/java/nio/LongBufferImpl.java,
	gnu/java/nio/PipeImpl.java,
	gnu/java/nio/SelectionKeyImpl.java,
	gnu/java/nio/SelectorImpl.java,
	gnu/java/nio/SelectorProviderImpl.java,
	gnu/java/nio/ServerSocketChannelImpl.java,
	gnu/java/nio/ShortBufferImpl.java,
	gnu/java/nio/SocketChannelImpl.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java,
	java/nio/channels/FileChannel.java: New files.

From-SVN: r59216
2002-11-18 13:56:59 +00:00