Commit Graph

62 Commits

Author SHA1 Message Date
Michael Koch
26392535a7 ChannelInputStream.java: New file.
2003-12-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ChannelInputStream.java: New file.
	* java/nio/channels/Channels.java (newInputStream): Implemented.
	* java/nio/channels/FileChannelImpl.java
	(readImpl): Only put data into buffer if something was read.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/ChannelInputStream.java.
	* Makefile.in: Regenerated.

From-SVN: r74842
2003-12-19 19:06:34 +00:00
Michael Koch
9175d628d0 OutputStreamChannel.java: New file.
2003-12-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/OutputStreamChannel.java: New file.
	* java/nio/channels/Channels.java (newChannel): Implemented.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/OutputStreamChannel.java.
	* Makefile.in: Regenerated.

From-SVN: r74840
2003-12-19 16:31:59 +00:00
Michael Koch
b8362a2315 InputStreamChannel.java: New file.
2003-12-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/InputStreamChannel.java: New file.
	* java/nio/channels/Channels.java (newChannel): Implemented.

From-SVN: r74838
2003-12-19 15:22:33 +00:00
Mohan Embar
5cd4d463f9 win32.cc (WSAEventWrapper): Implemented default constructor and init() methods.
* win32.cc (WSAEventWrapper): Implemented default
	constructor and init() methods.
	(_Jv_select): Removed.
	* gnu/java/nio/natSelectorImplWin32.cc
	(helper_put_filedescriptors): Removed.
	(helper_get_filedescriptors): Removed.
	(implSelect): Implemented in terms of WSAEventWrapper
	and WSAWaitForMultipleEvents instead of _Jv_select().
	Added support for thread interruption.
	* include/win32.h (WSAEventWrapper): Minor formatting
	changes; added default constructor declaration, init(),
	getFD() and getEventHandle() methods.
	(_Jv_select): Removed.

From-SVN: r74715
2003-12-16 22:54:22 +00:00
Mohan Embar
c1fb3625ae * gnu/java/nio/SocketChannelImpl.java
(write): Removed diagnostic trace.
	* gnu/java/nio/natSelectorImplPosix.cc: Added
	includes for java.lang.Thread and java.io.InterruptedIOException.
	(helper_put_filedescriptors): Don't put invalid file descriptors
	in select set.
	(helper_get_filedescriptors): Clear invalid file descriptors
	from select set.
	(helper_reset): New method for clearing our file descriptor
	array.
	(implSelect): Correctly calculate timeout if specified and
	legal.
	Intercept and deal with any java.io.InterruptedIOException
	thrown by _Jv_select().

From-SVN: r74537
2003-12-11 15:35:13 +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
Mohan Embar
148c8e7b51 * gnu/java/nio/natSelectorImplPosix.cc
(implSelect): A timeout of 0 means an infinite
	timeout.

From-SVN: r74259
2003-12-04 00:31:27 +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
d3f010ec28 2003-11-22 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/DatagramChannelImpl.java
	(getNativeFD): Use getPlainDatagramSocketImpl().
	* gnu/java/nio/NIODatagramSocket.java
	(getPlainDatagramSocketImpl): Renamed from getImpl().
	* gnu/java/nio/NIOSocket.java
	(getPlainSocketImpl): Renamed from getImpl().
	(setChannel): Use getPlainSocketImpl().
	* gnu/java/nio/SocketChannelImpl.java
	(SocketChannelImpl): Use getPlainSocketImpl().
	(getPlainSocketImpl): Renamed from getImpl().
	(getNativeFD): Use getPlainSocketImpl().

From-SVN: r73840
2003-11-22 15:13:01 +00:00
Mohan Embar
650dc9b332 * gnu/java/nio/natSelectorImplPosix.cc
(helper_put_filedescriptors): Change to static linkage.
	(helper_get_filedescriptors): Likewise.

From-SVN: r73545
2003-11-13 10:09:40 +00:00
Michael Koch
4ba6d1c3e2 natPipeImpl.cc, [...]: Removed
2003-11-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natPipeImpl.cc,
	gnu/java/nio/natSelectorImpl.cc: Removed
	* gnu/java/nio/natPipeImplEcos.cc,
	gnu/java/nio/natPipeImplPosix.cc,
	gnu/java/nio/natPipeImplWin32.cc,
	gnu/java/nio/natSelectorImplEcos.cc,
	gnu/java/nio/natSelectorImplPosix.cc,
	gnu/java/nio/natSelectorImplWin32.cc: New files
	* configure.in: Create links for gnu/java/nio/natPipeImpl.cc and
	gnu/java/nio/natSelectorImpl.cc
	* configure: Regenerated.

From-SVN: r73446
2003-11-11 11:49:12 +00:00
Mohan Embar
ef050c9e23 win32.cc: (_Jv_pipe) Implemented.
* win32.cc: (_Jv_pipe) Implemented.
	* gnu/java/nio/natPipeImpl.cc: (nativeInit) Use
	_Jv_pipe instead of ::pipe.
	* include/posix.h: (_Jv_pipe) New inline.
	* include/win32.h: (_Jv_pipe) New declaration.

From-SVN: r72616
2003-10-17 18:44:42 +00:00
Michael Koch
81bc077a39 2003-10-12 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/PipeImpl.java
	(SourceChannelImpl): New inner class.
	(SinkChannelImpl): New inner class.
	(sink): New member variable.
	(source): New member variable.
	(PipeImpl): Add SelectorProvider argument, implemented.
	(nativeInit): New method.
	(sink): Return sink channel.
	(source): Return source channel.
	* gnu/java/nio/SelectorProviderImpl.java
	(openPipe): Give provider as argument to PipeImpl constructor.
	* java/nio/channels/spi/SelectorProvider.java
	(pr): Removed.
	(systemDefaultProvider): New member variable.
	(provider): Made it synchronized, use property
	java.nio.channels.spi.SelectorProvider.
	* gnu/java/nio/natPipeImpl.cc: New file.
	* Makefile.am (nat_source_files): Added gnu/java/nio/natPipeImpl.cc.
	* Makefile.in: Regenerated.

From-SVN: r72397
2003-10-12 13:39:07 +00:00
Michael Koch
1b2bfbc218 Really remove it.
From-SVN: r72346
2003-10-11 18:05:00 +00:00
Michael Koch
51914674f4 NIOSocket.java (setChannel): Initialize impl.
2003-10-11  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/NIOSocket.java (setChannel): Initialize impl.
	* gnu/java/nio/ServerSocketChannelImpl.java
	(serverSocket): Made it a NIOServerSocket.
	(impl): Removed.
	(ServerSocketChannelImpl): Initialize only serverSocket.
	(initServerSocket): Removed.
	(getNativeFD): Rewritten.
	(implConfigureBlocking): Set socket timeout and removed comment.
	(accept): Rewritten.
	* gnu/java/nio/SocketChannelImpl.java
	(impl): New variable.
	(connected): Removed.
	(SocketChannelImpl): Initialize impl too.
	(getImpl): New method.
	(isConnected): Rewritten.
	(read): Rewritten, set position in buffer correctly.
	(write): Set position in buffer correctly.
	* java/net/ServerSocket.java (getImpl): New method.
	* gnu/java/nio/NIOServerSocket.java,
	gnu/java/nio/natNIOServerSocket.cc: New files.
	* gnu/java/nio/natServerSocketChannelImpl.cc: Removed.
	* Makefile.am
	(ordinary_java_source_files):
	Added gnu/java/nio/NIOServerSocket.java.
	(nat_source_files):
	Removed gnu/java/nio/natServerSocketChannelImpl.cc
	and added gnu/java/nio/natNIOServerSocket.cc.
	* Makefile.in: Regenerated.

From-SVN: r72345
2003-10-11 18:01:35 +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
Michael Koch
36805693cb 2003-10-08 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SocketChannelImpl.java
	(read): Write only read data to buffer.

From-SVN: r72232
2003-10-08 16:03:06 +00:00
Michael Koch
fc40b902f4 re PR java/12426 (gcj allows access to private members from superclass)
2003-09-27  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/SelectionKeyImpl.java
	(ch): Make package-private again. Jikes found this bug.
	Jeff Sturm submitted PR12426 for this to bugzilla
	to fix this bug in gcj.

From-SVN: r71841
2003-09-26 22:02:05 +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
1bfb64ff9a 2003-09-25 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/DatagramChannelImpl.java
	(getNativeFD): New method.
	* gnu/java/nio/SelectionKeyImpl.java
	(SelectionKeyImpl): Class made abstract.
	(fd): Removed.
	(SelectionKeyImpl): Remove fd argument.
	(getNativeFD): New method.
	* gnu/java/nio/SocketChannelImpl.java
	(getNativeFD): New method.
	gnu/java/nio/DatagramChannelSelectionKey.java,
	* gnu/java/nio/SocketChannelSelectionKey.java:
	New files.
	* Makefile.am (ordinary_java_source_files):
	Added new files gnu/java/nio/DatagramChannelSelectionKey.java and
	gnu/java/nio/SocketChannelSelectionKey.java.
	* Makefile.in: Regenerated.

From-SVN: r71797
2003-09-25 21:14:43 +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
309cecc625 NIODatagramSocket.java, [...]: New files.
2003-09-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/NIODatagramSocket.java,
	gnu/java/nio/NIOSocket.java: New files.
	* Makefile.am (ordinary_java_source_files):
	Added gnu/java/nio/NIODatagramSocket.java and
	gnu/java/nio/NIOSocket.java.
	* Makefile.in: Regenerated.

From-SVN: r71592
2003-09-19 21:12:58 +00:00
Michael Koch
ae26c8e25f FileChannelImpl.java, [...]: Removed.
2003-07-13  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/FileChannelImpl.java,
	gnu/java/nio/natFileChannelImpl.cc: Removed.
	* java/io/FileInputStream.java,
	java/io/FileOutputStream.java,
	java/io/RandomAccessFile.java,
	java/nio/MappedByteBufferImpl.java:
	Import java.nio.channels.FileChannelImpl instead of
	gnu.java.nio.FileChannelImpl.
	* java/nio/channels/FileChannelImpl.java,
	java/nio/channels/natFileChannelImpl.cc:
	New files.
	* Makefile.am
	(ordinary_java_source_files):
	Removed gnu/java/nio/FileChannelImpl.java and added
	java/nio/channels/FileChannelImpl.java.
	(nat source_files):
	Removed gnu/java/nio/natFileChannelImpl.cc and added
	java/nio/channels/natFileChannelImpl.cc.
	* Makefile.in: Regenerated.

From-SVN: r69296
2003-07-13 16:53:05 +00:00
Michael Koch
c938cb682b 2003-06-27 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileChannelImpl.java
	(write): Removed.

From-SVN: r68572
2003-06-27 13:41:25 +00:00
Michael Koch
c52c9fec50 MappedByteFileBuffer.java, [...]: Removed
2003-06-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/MappedByteFileBuffer.java,
	gnu/java/nio/natMappedByteFileBuffer.cc:
	Removed
	* java/nio/MappedByteBufferImpl.java:
	New file.
	* gnu/java/nio/FileChannelImpl.java:
	Use MappedByteBufferImpl instead of MappedByteFileBuffer.
	* Makefile.am
	(ordinary_java_source_files): Removed
	gnu/java/nio/MappedByteFileBuffer.java and added
	java/nio/MappedByteBufferImpl.java.
	(nat_source_files): Removed gnu/java/nio/natMappedByteFileBuffer.cc
	* Makefile.in: Regenerated.

From-SVN: r68259
2003-06-20 12:01:54 +00:00
Michael Koch
98a91a724e 2003-06-19 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/DatagramChannelImpl.java
	(fd): Removed.
	(blocking): New member variable.
	(socket): Likewise.
	(DatagramChannelImpl): Throws IOException, initialize socket.
	(socket):Implemented.
	(implCloseSelectableChannel): Throws IOException, implemented.
	(implConfigureBlocking): Likewise.
	(connect): Likewise.
	(disconnect): Likewise.
	(isConnected): Likewise.
	(write): Likewise.
	(read): Likewise.
	(receive): Throws IOException.
	(send): Likewise.
	* gnu/java/nio/SocketChannelImpl.java
	(read): Implemented.
	(write): Implemented.

From-SVN: r68208
2003-06-19 16:42:25 +00:00
Michael Koch
b7a793afb7 2003-06-19 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileChannelImpl.java
	(map_address): Made public.
	(FileChannelImpl): Merged with classpath.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Commented out unused arguments.
	(nio_unmmap_file): Likewise.
	(niu_msync): Likewise.

From-SVN: r68186
2003-06-19 09:33:58 +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
3a5eb28322 ByteBufferImpl.java, [...]: Moved files to java/nio.
2003-05-20  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java,
	gnu/java/nio/CharBufferImpl.java,
	gnu/java/nio/CharViewBufferImpl.java,
	gnu/java/nio/DirectByteBufferImpl.java,
	gnu/java/nio/DoubleBufferImpl.java,
	gnu/java/nio/DoubleViewBufferImpl.java,
	gnu/java/nio/FloatBufferImpl.java,
	gnu/java/nio/FloatViewBufferImpl.java,
	gnu/java/nio/IntBufferImpl.java,
	gnu/java/nio/IntViewBufferImpl.java,
	gnu/java/nio/LongBufferImpl.java,
	gnu/java/nio/LongViewBufferImpl.java,
	gnu/java/nio/natDirectByteBufferImpl.cc,
	gnu/java/nio/ShortBufferImpl.java,
	gnu/java/nio/ShortViewBufferImpl.java:
	Moved files to java/nio.
	* gnu/java/nio/SocketChannelImpl.java

	* java/nio/ByteBuffer.java,
	java/nio/CharBuffer.java,
	java/nio/DoubleBuffer.java,
	java/nio/FloatBuffer.java,
	java/nio/IntBuffer.java,
	java/nio/LongBuffer.java,
	java/nio/ShortBuffer.java:
	Dont import anything.
	* java/nio/ByteBufferImpl.java,
	java/nio/CharBufferImpl.java,
	java/nio/CharViewBufferImpl.java,
	java/nio/DirectByteBufferImpl.java,
	java/nio/DoubleBufferImpl.java,
	java/nio/DoubleViewBufferImpl.java,
	java/nio/FloatBufferImpl.java,
	java/nio/FloatViewBufferImpl.java,
	java/nio/IntBufferImpl.java,
	java/nio/IntViewBufferImpl.java,
	java/nio/LongBufferImpl.java,
	java/nio/LongViewBufferImpl.java,
	java/nio/natDirectByteBufferImpl.cc,
	java/nio/ShortBufferImpl.java,
	java/nio/ShortViewBufferImpl.java:
	Moved from gnu/java/nio.
	* Makefile.am
	(ordinary_java_source_files): Moved files from gnu/java/nio to
	java/nio.
	(nat_source_files): Moved natDirectByteBufferImpl.cc from gnu/java/nio
	to java/nio.
	* Makefile.in: Regenerated.

From-SVN: r66990
2003-05-20 08:58:31 +00:00
Michael Koch
10832fce7c 2003-05-19 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ByteBufferImpl.java
	(putLong): Fixed conversion to bytes.
	(putDouble): Fixed conversion to bytes.
	* gnu/java/nio/DirectByteBufferImpl.java
	(putLong): Fixed conversion to bytes.
	(putDouble): Fixed conversion to bytes.
	* gnu/java/nio/FileLockImpl.java
	(isValid): Reformatted.
	* java/nio/Buffer.java
	(Buffer): Fixed off-by-one bug in handling mark.
	* java/nio/ByteBuffer.java:
	Added newline.
	* java/nio/CharBuffer.java
	(toString): Don't use relative get to get string data.

From-SVN: r66946
2003-05-19 06:59:23 +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
d24273abda 2003-05-13 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/CharViewBufferImpl.java
	(CharViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/DoubleViewBufferImpl.java
	(DoubleViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/FloatViewBufferImpl.java
	(FloatViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/IntViewBufferImpl.java
	(IntViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/LongViewBufferImpl.java
	(LongViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.
	* gnu/java/nio/ShortViewBufferImpl.java
	(ShortViewBufferImpl): Fixed super constructor call, initialize offset.
	(get): Shift bits to the right direction.
	(put): Likewise.

From-SVN: r66780
2003-05-13 20:11:02 +00:00
Michael Koch
c484a5fbd3 2003-05-13 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/natDirectByteBufferImpl.cc
	(allocateImpl): jlong -> RawData*.
	(freeImpl): Likewise.

From-SVN: r66760
2003-05-13 12:57:32 +00:00
Michael Koch
e48d8b8886 2003-05-13 Michael Koch <konqueror@gmx.de>
* java/io/FileDescriptor.java
       (SYNC): New constant.
       (DSYNC): Likewise.
       (getLength): Renamed from lenght() to match classpath's
       FileDescriptor.java.
       * java/io/RandomAccessFile.java
       (RandomAccessFile): Removed unneeded mode check, implemented mode
       "rws" and "rwd", merged documentation from classpath.
       (setLength): Reformatted.
       (length): Use new getLength() of FileDescriptor.
       * java/io/natFileDescriptorEcos.cc
       (getLength): Renamed from length().
       * java/io/natFileDescriptorPosix.cc
       (open): Implemented support for SYNC and DSYNC.
       (seek): Use getLength() instead of length().
       (getLength): Renamed from length().
       * java/io/natFileDescriptorWin32.cc
       (getLength): Renamed from length().
       (seek): Use getLength() instead of length().
       (available): Likewise.
       * gnu/java/nio/natFileChannelImpl.cc
       (size): Use getLength() instead of length().

From-SVN: r66755
2003-05-13 09:13:31 +00:00
Michael Koch
3b6b673dab 2003-05-13 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): All constructors revised.
	(slice): Reimplemented.
	(duplicate): Reimplemented.
	(asReadOnlyBuffer): Reimplemented.
	* java/nio/ByteBuffer.java:
	Reformatted.
	(array_offset): Renamed from "offset" to match all other buffer
	classes.
	(ByteBuffer): All constructors revised.
	(allocateDirect): Implemented.
	(allocate): New implementation, documentation reworked.
	(wrap): Likewise.
	(get): Documentation reworked.
	(put): New implementation, documentation reworked.
	(hasArray): Documentation reworked.
	(arrayOffset): Likewise.
	(hashCode): Likewise.
	(equals): Likewise.
	(compareTo): Likewise.
	(order): Likewise.
	(compact): Likewise.
	(isDirect): Likewise.
	(slice): Likewise.
	(duplicate): Likewise.
	(asReadOnlyBuffer): Likewise.
	* Makefile.am
	(ordinary_java_source_files):
	Added gnu/java/nio/DirectByteBufferImpl.java.
	(nat_source_files):
	Added gnu/java/nio/natDirectByteBufferImpl.cc.
	* Makefile.in: Regenerated.

From-SVN: r66749
2003-05-13 06:04:19 +00:00
Michael Koch
36d4669b73 ByteBufferImpl.java: Reformatted.
2003-05-12  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/ByteBufferImpl.java: Reformatted.
	(nio_get_*): Removed.
	(nio_put_*): Removed.
	(as*Buffer): Implemented.
	(compact): Implemented.
	(get): Documentation added.
	(put): Documentation added.
	(get*): Newly implemented.
	(put*): Newly implemented.
	* gnu/java/nio/CharBufferImpl.java: Reformatted.
	(CharBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/DirectByteBufferImpl.java
	(allocateDirect): objects can be null not 0.
	* gnu/java/nio/DoubleBufferImpl.java: Reformatted.
	(DoubleBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/FloatBufferImpl.java: Reformatted.
	(FloatBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/IntBufferImpl.java: Reformatted.
	(IntBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/LongBufferImpl.java: Reformatted.
	(LongBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* gnu/java/nio/ShortBufferImpl.java: Reformatted.
	(ShortBufferImpl): Revised.
	(slice): New implementation.
	(duplicate): New implementation.
	(compact): New implementation.
	(asReadOnlyBuffer): New implementation.
	(get): Documentation revised.
	(order): Return native byte order.
	* java/nio/CharBuffer.java: Reformatted, much documentation rewritten.
	(CharBuffer): Revised.
	(order): Removed.
	* java/nio/DoubleBuffer.java: Reformatted, much documentation rewritten.
	(DoubleBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/FloatBuffer.java: Reformatted, much documentation rewritten.
	(FloatBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/IntBuffer.java: Reformatted, much documentation rewritten.
	(IntBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/LongBuffer.java: Reformatted, much documentation rewritten.
	(LongBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* java/nio/ShortBuffer.java: Reformatted, much documentation rewritten.
	(ShortBuffer): Revised.
	(allocateDirect): Removed.
	(order): Removed.
	* gnu/java/nio/natByteBufferImpl.cc: Removed.
	* gnu/java/nio/natCharBufferImpl.cc: Removed.
	* Makefile.am
	(ordinary_java_source_files): Added the following files:
	gnu/java/nio/CharViewBufferImpl.java,
	gnu/java/nio/DoubleViewBufferImpl.java,
	gnu/java/nio/FloatViewBufferImpl.java,
	gnu/java/nio/IntViewBufferImpl.java,
	gnu/java/nio/LongViewBufferImpl.java,
	gnu/java/nio/ShortViewBufferImpl.java
	(nat_source_files): Removed the following files:
	gnu/java/nio/natByteBufferImpl.cc,
	gnu/java/nio/natCharBufferImpl.cc
	* Makefile.in: Regenerated.

From-SVN: r66733
2003-05-12 20:45:20 +00:00
Michael Koch
5560b019e4 CharViewBufferImpl.java, [...]: New files, not yet to be compiled.
2003-05-12  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/CharViewBufferImpl.java,
	gnu/java/nio/DirectByteBufferImpl.java,
	gnu/java/nio/DoubleViewBufferImpl.java,
	gnu/java/nio/FloatViewBufferImpl.java,
	gnu/java/nio/IntViewBufferImpl.java,
	gnu/java/nio/LongViewBufferImpl.java,
	gnu/java/nio/ShortViewBufferImpl.java,
	gnu/java/nio/natDirectByteBufferImpl.cc:
	New files, not yet to be compiled.

From-SVN: r66727
2003-05-12 18:32:17 +00:00
Tom Tromey
553ada109d Makefile.in: Rebuilt.
* Makefile.in: Rebuilt.
	* Makefile.am (nat_source_files): Removed old files.
	* gnu/java/nio/natDoubleBufferImpl.cc: Removed.
	* gnu/java/nio/natFloatBufferImpl.cc: Removed.
	* gnu/java/nio/natIntBufferImpl.cc: Removed.
	* gnu/java/nio/natLongBufferImpl.cc: Removed.
	* gnu/java/nio/natShortBufferImpl.cc: Removed.

From-SVN: r66640
2003-05-09 19:16:54 +00:00
Michael Koch
2c478ce37c 2003-05-09 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ByteBufferImpl.java
	(nio_cast): Removed.
	(ByteBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	(asCharBuffer): Removed implementation and throw exception.
	(asShortBuffer): Likewise.
	(asIntBuffer): Likewise.
	(asLongBuffer): Likewise.
	(asFloatBuffer): Likewise.
	(asDoubleBuffer): Likewise.
	* gnu/java/nio/CharBufferImpl.java
	(CharBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/IntBufferImpl.java
	(IntBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/LongBufferImpl.java
	(LongBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	(asByteBuffer): Removed.
	* gnu/java/nio/natByteBufferImpl.cc
	(nio_cast): Removed.
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.
	* gnu/java/nio/natCharBufferImpl.cc
	(nio_get_Byte): Removed.
	(nio_put_Byte): Removed.

From-SVN: r66626
2003-05-09 07:55:59 +00:00
Michael Koch
4b6eac52d5 2003-05-02 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileChannelImpl.java
	(read): New implementation.
	(implRead): New methods.
	(write): New implementation, call other write insteal of read method.
	(implWrite): New methods.
	(map): Added comment.
	(transferFrom): Implemented.
	(transferTo): Implemented.
	(lock): Added checks to throw exceptions.
	(truncate): Added check to throw exception.
	* gnu/java/nio/natFileChannelImpl.cc
	(implRead): New method.
	(implWrite): New method.
	* java/nio/ByteBuffer.java
	(hashCode): Fixed comment.
	(get): Fixed exception documentation.
	(put): Fixed exception documentation.
	* java/nio/CharBuffer.java:
	Added comment for later optimizations.

From-SVN: r66373
2003-05-02 05:35:57 +00:00
Michael Koch
54c99af155 2003-03-20 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileChannelImpl.java
	(address): Removed.
	(map_address): New member variable.
	(length): Make it package private.
	(fd): Make it package private.
	(buf): Make it package private.
	(file_obj): Make it package private.
	(FileChannelImpl): New constructor.
	(nio_mmap_file): Use RawData instead of long.
	(nio_munmap_file): Use RawData instead of long.
	(nio_msync): Use RawData instead of long.
	(implCloseChannel): New implementation using map_address.
	(read): Reformated.
	(map): Implemented.
	(create_direct_mapped_buffer): Implemented, use RawData, throws
	IOException.
	(force): Use map_address instead of address.
	* gnu/java/nio/MappedByteFileBuffer.java
	(address): Removed.
	(map_address): New member variable.
	(MappedByteFileBuffer): Use map_address instead of address, reformated.
	(several methods): Use map_address instead of address, replaced long
	with RawData where appropriate.
	* gnu/java/nio/natFileChannelImpl.cc
	(nio_mmap_file): Replaced long with RawData.
	(nio_munmap_file): Replaced long with RawData.
	(nio_msync): Replaced long with RawData.
	* gnu/java/nio/natMappedByteFileBuffer.cc
	(several methods): Replaced long with RawData where appropriate.

From-SVN: r64612
2003-03-20 11:14:35 +00:00
Michael Koch
b772d2f592 2003-03-11 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ByteBufferImpl.java
	(putInt): Use limit() instead of limit.
	* gnu/java/nio/CharBufferImpl.java
	(slice): Fixed implementation.
	(subSequence): Better bounds checking.
	* gnu/java/nio/MappedByteFileBuffer.java:
	Import all needed classes directly.
	* java/nio/ByteBuffer.java
	(hashCode): New dummy method.
	* java/nio/CharBuffer.java
	(array_offset): New member variable.
	(hasArray): Fixed documentation.
	(arrayOffset): Return array_offset.

From-SVN: r64165
2003-03-11 10:30:52 +00:00
Michael Koch
a339cb5bd9 2003-03-02 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/FileChannelImpl.java
	(fd): Type FileDescriptor instead of int.
	(lengthInternal): Removed.
	(FileChannelImpl): Fixed arguments, check type of file object.
	(size): Made it native.
	(implPosition): New native method.
	(implTruncate): New native method.
	(position): Implemented.
	(truncate): Implemented.
	(nio_mmap_file): Changed arguments.
	(nio_munmap_file): Changed arguments.
	(nio_msync): Changed arguments.
	* gnu/java/nio/natFileChannelImpl.cc
	(lengthInternal): Removed.
	(size): New method.
	(implPosition): New method.
	(implTruncate): New method.
	(nio_mmap_file): Changed arguments.
	(nio_munmap_file): Changed arguments.
	(nio_msync): Changed arguments.

From-SVN: r63668
2003-03-02 15:57:13 +00:00
Michael Koch
9d4c156509 MappedByteFileBuffer.java, [...]: New files, both are not compiled yet to get not noncompiling CVS.
2003-02-25  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/MappedByteFileBuffer.java,
	gnu/java/nio/natMappedByteFileBuffer.cc:
	New files, both are not compiled yet to get not noncompiling CVS.

From-SVN: r63403
2003-02-25 11:09:44 +00:00
Michael Koch
2d4fad8e02 natSocketChannelImpl.cc: Reverse logic for DISABLE_JAVA_NET.
2003-02-21  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc:
	Reverse logic for DISABLE_JAVA_NET. Thanks to Krister Walfridsson
	<cato@df.lth.se> for pointing to it.

From-SVN: r63212
2003-02-21 08:19:34 +00:00
Michael Koch
bb7dd383f0 natSocketChannelImpl.cc: Added support for platforms without network support.
2003-02-19  Michael Koch  <konqueror@gmx.de>

	* gnu/java/nio/natSocketChannelImpl.cc:
	Added support for platforms without network support.

From-SVN: r63155
2003-02-20 07:24:37 +00:00
Michael Koch
681979f075 2003-02-19 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ByteBufferImpl.java
	(ByteBufferImpl): Renamed two variables.
	* gnu/java/nio/CharBufferImpl.java
	(CharBufferImpl): Renamed two variables.
	* gnu/java/nio/DoubleBufferImpl.java
	(DoubleBufferImpl): Renamed two variables.
	* gnu/java/nio/FloatBufferImpl.java
	(FloatBufferImpl): Renamed two variables.
	* gnu/java/nio/IntBufferImpl.java
	(IntBufferImpl): Renamed two variables.
	* gnu/java/nio/LongBufferImpl.java
	(LongBufferImpl): Renamed two variables.
	* gnu/java/nio/ShortBufferImpl.java
	(ShortBufferImpl): Renamed two variables.
	* java/nio/CharBuffer.java
	(wrap): Fixed arguments to CharBufferImpl constructor.
	(hasArray): Only not read-only buffers have backing arrays.
	(length): Documentation added.
	(subSequence): Documentation added.
	* java/nio/DoubleBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/FloatBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/IntBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/LongBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.
	* java/nio/ShortBuffer.java
	(hasArray): Only not read-only buffers have backing arrays.

From-SVN: r63101
2003-02-19 11:47:49 +00:00