summaryrefslogtreecommitdiff
path: root/gnu/java/nio/channels
Commit message (Collapse)AuthorAgeFilesLines
* 2006-09-16 Casey Marshall <csm@gnu.org>Casey Marshall2006-09-171-553/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * NEWS: updated. * configure.ac (AC_CHECK_HEADERS): check for `sys/event.h'. (AC_CHECK_FUNCS): add checks for readv, writev, getifaddrs, kqueue, and kevent. (HAVE_INET6): define if IPv6 is supported. * gnu/java/net/PlainDatagramSocketImpl.java (channel): new field. (native_fd): removed. (impl): new field. (<init>): throw IOException; initialize fields. (finalize): removed. (getNativeFD): removed. (bind): use `PlainSocketImpl.bind.' (create): use `PlainSocketImpl.initSocket.' (disconnect): use `PlainSocketImpl.disconnect.' (getLocalPort): new method. (send): use `VMChannel.send.' (receive): use `VMChannel.receive.' (setOption): use `PlainSocketImpl.setOption.' (getOption): use `PlainSocketImpl.getOption.' (close): use `VMChannel.State.close.' (join): use `PlainSocketImpl.join.' (leave): use `PlainSocketImpl.leave.' (joinGroup, leaveGroup): implemented. * gnu/java/net/PlainSocketImpl.java: make non-final. (native_fd): removed. (impl): new field. (channel): new field. (<init>): initialize `impl.' (finalize, getNativeFD): removed. (setOption): use `PlainSocketImpl.setOption.' (getOption): use `PlainSocketImpl.getOption.' (shutdownInput): use `PlainSocketImpl.shutdownInput.' (shutdownOutput): use `PlainSocketImpl.shutdownOutput.' (create): create `channel,' initialize `impl's native state. (connect): use `connect(SocketAddress, int).' (connect): use `SocketChannelImpl.connect;' initialize `address' and `port.' (bind): use `VMPlainSocketImpl.bind.' (listen): use `VMPlainSocketImpl.listen.' (accept): use `SocketChannelImpl.accept.' (available): use `VMChannel.available.' (close): use `PlainSocketImpl.close.' (sendUrgentData): use `PlainSocketImpl.sendUrgentData.' (getVMChannel, getInetAddress, getLocalPort, getLocalAddress, getPort): new methods. (SocketInputStream.read): use `VMChannel.read.' (SocketInputStream.read): use `SocketChannel.read.' (SocketOutputStream.write): use `VMChannel.write.' (SocketOutputStream.write): use `SocketChannel.write.' * gnu/java/nio/DatagramChannelImpl.java: implement VMChannel. (channel): new field. (<init>): initialize `channel.' (implCloseSelectableChannel): use `VMChannel.close.' (implConfigureBlocking): use `VMChannel.setBlocking.' (connect): use `VMChannel.connect.' (disconnect): use `VMChannel.disconnect.' (isConnected): use `VMChannel.getPeerAddress.' (write): use `VMChannel.write.' (write): use `VMChannel.writeGathering.' (read): use `VMChannel.read.' (read): use `VMChannel.readScattering.' (receive): use `VMChannel.receive.' (send): use `VMChannel.send.' (getVMChannel): new method. * gnu/java/nio/DatagramChannelSelectionKey.java (getNativeFD): access native FD through VMChannel.State. * gnu/java/nio/FileChannelImpl.java: moved from gnu/java/nio/channels/FileChannelImpl.java. * gnu/java/nio/FileLockImpl.java: fix imports. * gnu/java/nio/KqueueSelectionKeyImpl.java: new file. * gnu/java/nio/KqueueSelectorImpl.java: new file. * gnu/java/nio/NIOSocket.java (impl): removed. (channel): new field. (<init>): init superclass with a `NIOSocketImpl;' init `channel.' (getPlainSocketImpl, setChannel): removed. (isConnected): new method. * gnu/java/nio/NIOSocketImpl.java: new file. * gnu/java/nio/PipeImpl.java (SourceChannelImpl): implement `VMChannelOwner.' (SourceChannelImpl.native_fd): removed. (SourceChannelImpl.<init>): init with a `VMChannel.' (SourceChannelImpl.getNativeFD): removed. (SourceChannelImpl.getVMChannel): new method. (SourceChannelImpl.implCloseSelectableChannel): implement. (SinkChannelImpl): implement `VMChannelOwner.' (SinkChannelImpl.native_fd): removed. (SinkChannelImpl.<init>): init with a `VMChannel.' (SinkChannelImpl.implCloseSelectableChannel): implement. (SinkChannelImpl.getNativeFD): removed. (SinkChannelImpl.getVMChannel): new method. * gnu/java/nio/SelectionKeyImpl.java (getNativeFD): mark deprecated. * gnu/java/nio/SelectorProviderImpl.java (SELECTOR_IMPL_KQUEUE, SELECTOR_IMPL_EPOLL, SELECTOR_IMPL): new constants. (openSelector): return kqueue selector if available. * gnu/java/nio/ServerSocketChannelImpl.java: implement `VMChannelOwner.' (channel): new field. (<init>): init `channel.' (finalizer): check if the `VMChannel.State' is valid. (implCloseSelectableChannel): use `VMChannel.close.' (implConfigureBlocking): use `VMChannel.setBlocking.' (accept): use `VMChannel.accept.' (getVMChannel): new method. * gnu/java/nio/ServerSocketChannelSelectionKey.java (getNativeFD): access native FD through `VMChannel.State.' * gnu/java/nio/SocketChannelImpl.java: implement `VMChannelOwner.' (impl): removed. (channel, connected, connectAddress): new field. (<init>): new constructors. (getPlainSocketImpl): removed. (implCloseSelectableChannel): use `VMChannel.close.' (implConfigureBlocking): use `VMChannel.setBlocking.' (connect): use `connect(SocketAddress,int).' (connect): use `VMChannel.connect.' (finishConnect): don't use a selector. (isConnected): use `VMChannel.getPeerAddress.' (read): use `VMChannel.read.' (read): use `VMChannel.readScattering.' (write): use `VMChannel.write.' (write): use `VMChannel.writeGathering.' (getVMChannel): new method. * gnu/java/nio/SocketChannelSelectionKey.java (getNativeFD): get native FD from `VMChannel.State.' * gnu/java/nio/SocketChannelSelectionKeyImpl.java (getNativeFD): get native FD from `VMChannel.State.' * gnu/java/nio/VMChannelOwner.java: new file. * gnu/java/nio/channels/FileChannelImpl.java: removed. * include/Makefile.am: generate `gnu_java_nio_FileChannelImpl.h' and `gnu_java_nio_KqueueSelectorImpl.h;' don't generate `gnu_java_nio_channels_FileChannelImpl.h.' * include/gnu_java_net_VMPlainSocketImpl.h: regenerated. * include/gnu_java_nio_FileChannelImpl.h: new file. * include/gnu_java_nio_KqueueSelectorImpl.h: new file. * include/gnu_java_nio_VMChannel.h: regenerated. * include/gnu_java_nio_VMPipe.h: regenerated. * include/java_net_VMNetworkInterface.h: regenerated. * java/io/FileDescriptor.java: fix imports. * java/io/FileInputStream.java (<init>): handle exceptions. (read): wrap the destination arary. * java/io/FileOutputStream.java (<init>): handle exceptions. (write): wrap the source array. * java/io/RandomAccessFile.java (<init>): handle exceptions. * java/net/DatagramSocket.java (<init>): handle exceptions. (receive): handle length/port setting. (connect): bind to any address/port if the argument is null. * java/net/NetworkInterface.java (name, inetAddress): removed. (netif): new field. (<init>): make private. (getName): return `netif.name.' (getInetAddresses): access `netif.addresses.' (getDisplayName): return `netif.name.' (getByName, getByAddress): handle changes to `VMNetworkInterface.' (condense): removed. (getNetworkInterfaces): handle changes to `VMNetworkInterface.' (equals): compare `netif' fields. (hashCode): get hash codes from `netif.' (toString): use a StringBuffer. * java/net/ServerSocket.java (close): don't set `impl' to null. (isClosed): use `VMChannel.State.isClosed.' * java/net/Socket.java (getLocalAddress): don't use `getOption' if the `SocketImpl' is a `PlainSocketImpl.' (close): just close the `impl.' (toString): use `super.toString' in the value we return. (isConnected): just access `impl,' not `getImpl.' (isBound): use `PlainSocketImpl' methods if we can. (isClosed): look at `VMChannel.State.' * native/jni/classpath/jcl.c (JNI_OnLoad): new function. (JCL_NewRawDataObject): don't initialize cached fields here; throw an exception if they were not. (JCL_GetRawData): throw an exception if cached fields weren't created. * native/jni/java-lang/java_lang_VMProcess.c: handle FileChannelImpl move. * native/jni/java-net/gnu_java_net_VMPlainSocketImpl.c (IO_EXCEPTION, SOCKET_EXCEPTION, BIND_EXCEPTION, THROW_NO_NETWORK): new macros. (Java_gnu_java_net_VMPlainSocketImpl_bind): reipmlemented. (Java_gnu_java_net_VMPlainSocketImpl_bind6): new function. (Java_gnu_java_net_VMPlainSocketImpl_listen): reimplemented. (java_sockopt): new enum. (Java_gnu_java_net_VMPlainSocketImpl_setOption): reimplemented. (Java_gnu_java_net_VMPlainSocketImpl_getOption): reimplemented. (Java_gnu_java_net_VMPlainSocketImpl_shutdownInput): reimplemented. (Java_gnu_java_net_VMPlainSocketImpl_shutdownOutput): reimplemented. (Java_gnu_java_net_VMPlainSocketImpl_sendUrgentData): new function. (Java_gnu_java_net_VMPlainSocketImpl_join): new function. (Java_gnu_java_net_VMPlainSocketImpl_join6): new function. (Java_gnu_java_net_VMPlainSocketImpl_read): removed. (Java_gnu_java_net_VMPlainSocketImpl_leave): new function. (Java_gnu_java_net_VMPlainSocketImpl_leave6): new function. (Java_gnu_java_net_VMPlainSocketImpl_joinGroup): new function. (Java_gnu_java_net_VMPlainSocketImpl_write): removed. (Java_gnu_java_net_VMPlainSocketImpl_joinGroup6): new function. (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup): new function. (Java_gnu_java_net_VMPlainSocketImpl_leaveGroup6): new function. (getif_address): new function. (getif_index): new function. * native/jni/java-net/java_net_VMNetworkInterface.c (java_net_VMNetworkInterface_init, java_net_VMNetworkInterface_addAddress): new file-scope globals. (Java_java_net_VMNetworkInterface_initIds): new function. (struct netif_entry): new struct. (free_netif_list): new function. (Java_java_net_VMNetworkInterface_getInterfaces): removed. (Java_java_net_VMNetworkInterface_getVMInterfaces): new function. * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): remove gnu_java_nio_channels_FileChannelImpl.c, add gnu_java_nio_KqueueSelectorImpl.c. * native/jni/java-nio/gnu_java_nio_KqueueSelectorImpl.c: new file. * native/jni/java-nio/gnu_java_nio_VMChannel.c (INTERRUPTED_IO_EXCEPTION, SOCKET_TIMEOUT_EXCEPTION, ALIGN_UP, ALIGN_DOWN): new macros. (JCL_init_buffer): get the address through GetDirectBufferAddress if possible. (Java_gnu_java_nio_VMChannel_stdin_1fd, Java_gnu_java_nio_VMChannel_stdout_1fd, Java_gnu_java_nio_VMChannel_stderr_1fd): new functions. (Java_gnu_java_nio_VMChannel_setBlocking): fix setting blocking value. (Java_gnu_java_nio_VMChannel_read): renamed... (Java_gnu_java_nio_VMChannel_read__ILjava_nio_ByteBuffer_2): to this; handle interrupted IO; add HAVE_READ check. (Java_gnu_java_nio_VMChannel_write): renamed... (Java_gnu_java_nio_VMChannel_write__ILjava_nio_ByteBuffer_2): to this; handle zero-length write; add HAVE_WRITE check. (Java_gnu_java_nio_VMChannel_receive): new function. (Java_gnu_java_nio_VMChannel_send): new function. (Java_gnu_java_nio_VMChannel_send6): new function. (Java_gnu_java_nio_VMChannel_read__I): new function. (Java_gnu_java_nio_VMChannel_write__II): new function. (Java_gnu_java_nio_VMChannel_socket): new function. (Java_gnu_java_nio_VMChannel_connect): new function. (Java_gnu_java_nio_VMChannel_connect6): new function. (Java_gnu_java_nio_VMChannel_getsockname): new function. (Java_gnu_java_nio_VMChannel_getpeername): new function. (Java_gnu_java_nio_VMChannel_accept): new function. (Java_gnu_java_nio_VMChannel_disconnect): new function. (Java_gnu_java_nio_VMChannel_close): new function. (Java_gnu_java_nio_VMChannel_available): new function. (FileChannel_mode): new enum. (Java_gnu_java_nio_VMChannel_open): new function. (Java_gnu_java_nio_VMChannel_position): new function. (Java_gnu_java_nio_VMChannel_seek): new function. (Java_gnu_java_nio_VMChannel_truncate): new funciton. (Java_gnu_java_nio_VMChannel_lock): new function. (Java_gnu_java_nio_VMChannel_unlock): new function. (Java_gnu_java_nio_VMChannel_size): new function. (Java_gnu_java_nio_VMChannel_map): new function. (Java_gnu_java_nio_VMChannel_flush): new function. * native/jni/java-nio/gnu_java_nio_VMPipe.c (Java_gnu_java_nio_VMPipe_init): removed. (Java_gnu_java_nio_VMPipe_pipe0): new function. * native/jni/java-nio/javanio.c: new file. * native/jni/java-nio/javanio.h: new file. * native/jni/native-lib/cpnet.c (cpnet_getHostByName): fix for systems without `gethostbyname_r.' * vm/reference/gnu/java/net/VMPlainSocketImpl.java (nfd): new field. (<init>, <init>): new constructors. (setOption, getOption): make instance methods; defer to native implementation. (connect): removed. (bind): make an instance method; defer to native methods. (accept): removed. (available): removed. (listen): make an instance method; defer to native method. (read): removed. (join, leave): new methods. (write): removed. (joinGroup, leaveGroup): new methods. (shutdownInput, shutdownOutput): make instance methods. (sendUrgentData): removed. (State): new class. * vm/reference/gnu/java/nio/VMChannel.java: make final. (fd): removed. (nfd): new field. (<init>): new, public constructors. (getVMChannel): methods removed. (getState, getStdin, getStdout, getStderr, stdin_fd, stdout_fd, stderr_fd): new methods. (setBlocking): make an instance method. (available): new method. (read): get native fd from `nfd.' (read): new single-byte read method. (readScattering): get native fd from `nfd.' (receive): new method. (write, writeGathering): get native fd from `nfd.' (send): new method. (write): new single-byte write method. (initSocket): new method. (connect): new method. (disconnect): new method. (getLocalAddress): new method. (getPeerAddress): new method. (accept): new method. (openFile): new method. (position): new method. (seek): new method. (truncate): new method. (lock): new method. (unlock): new method. (size): new method. (map): new method. (flush): new method. (close): new method. (State): new class. (Kind): new class. * vm/reference/gnu/java/nio/VMPipe.java (init): removed. (pipe, pipe0): new method. * vm/reference/java/net/VMNetworkInterface.java (name, addresses): new fields. (<clinit>): call `initIds.' (initIds): new method. (getInterfaces): removed. (getVMInterfaces): new method. (addAddress): new method. * vm/reference/java/nio/channels/VMChannels.java: fix imports.
* 2006-05-13 Casey Marshall <csm@gnu.org>Casey Marshall2006-05-141-31/+18
| | | | | | | | | | | | | | | | | Patch by Michael Barker <mike@middlesoft.co.uk>. * gnu/java/nio/PipeImpl.java: Retrofitted to use VMChannel. * gnu/java/nio/SelectorImpl.java (register): Added condition for gnu.java.nio.SocketChannelSelectionKeyImpl. * gnu/java/nio/SocketChannelSelectionKeyImpl.java: new file. * gnu/java/nio/channels/FileChannelImpl.java: retrofitted to use VMChannel. * include/gnu_java_nio_VMChannel.h: new file. * java/nio/FileChannel.java (read,write): changed to call abstract method. * native/jni/java-nio/gnu_java_nio_VMChannel.c: new file. * native/jni/java-nio/Makefile.am (libjavanio_SOURCES): add `gnu_java_nio_VMChannel.c.' * vm/reference/gnu/java/nio/VMChannel.java: new file.
* * gnu/java/nio/channels/FileChannelImpl.java (position): Fixed typo.Tom Tromey2006-03-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * java/nio/charset/UnmappableCharacterException.java: (serialVersionUID): New field. * java/nio/charset/MalformedInputException.java: (serialVersionUID): New field. * java/nio/charset/CoderMalfunctionError.java: (serialVersionUID): New field. * java/nio/charset/CharacterCodingException.java: (serialVersionUID): New field. * java/nio/channels/UnsupportedAddressTypeException.java: (serialVersionUID): New field. * java/nio/channels/UnresolvedAddressException.java: (serialVersionUID): New field. * java/nio/channels/OverlappingFileLockException.java: (serialVersionUID): New field. * java/nio/channels/NotYetConnectedException.java: (serialVersionUID): New field. * java/nio/channels/NotYetBoundException.java (serialVersionUID): New field. * java/nio/channels/NonWritableChannelException.java (serialVersionUID): New field. * java/nio/channels/NonReadableChannelException.java (serialVersionUID): New field. * java/nio/channels/NoConnectionPendingException.java (serialVersionUID): New field. * java/nio/channels/IllegalSelectorException.java (serialVersionUID): New field. * java/nio/channels/IllegalBlockingModeException.java (serialVersionUID): New field. * java/nio/channels/FileLockInterruptionException.java (serialVersionUID): New field. * java/nio/channels/ConnectionPendingException.java (serialVersionUID): New field. * java/nio/channels/ClosedSelectorException.java (serialVersionUID): New field. * java/nio/channels/ClosedChannelException.java (serialVersionUID): New field. * java/nio/channels/ClosedByInterruptException.java (serialVersionUID): New field. * java/nio/channels/CancelledKeyException.java (serialVersionUID): New field. * java/nio/channels/AsynchronousCloseException.java (serialVersionUID): New field. * java/nio/channels/AlreadyConnectedException.java (serialVersionUID): New field. * java/nio/ReadOnlyBufferException.java (serialVersionUID): New field. * java/nio/InvalidMarkException.java (serialVersionUID): New field. * java/nio/BufferUnderflowException.java (serialVersionUID): New field. * java/nio/BufferOverflowException.java (serialVersionUID): New field. * java/nio/channels/spi/AbstractInterruptibleChannel.java (end): Javadoc fix. Added import. * java/nio/channels/DatagramChannel.java (isConnected): Javadoc fix. (validOps): Likewise. * gnu/java/nio/charset/iconv/IconvProvider.java: Organized imports. * gnu/java/nio/charset/iconv/IconvEncoder.java: Organized imports. * gnu/java/nio/charset/iconv/IconvDecoder.java: Organized imports. * java/nio/channels/Channels.java: Added import. * java/nio/channels/FileChannel.java (lock): Typo fix. (tryLock): Likewise.
* * gnu/java/nio/channels/FileChannelImpl.java (map): Throw correctMark Wielaard2006-01-091-2/+4
| | | | | | | exception when channel is not readable or writable. * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c (mapImpl): Add PROT_WRITE when mode == 'c' (MAP_PRIVATE). Make sure there is enough space to mmap().
* * gnu/java/nio/channels/FileChannelImpl.java (finalize): Check whetherMark Wielaard2005-09-111-1/+2
| | | | fd != -1 before calling close().
* * gnu/java/nio/channels/FileChannelImpl.java (lockCheck): New method.Mark Wielaard2005-07-261-16/+15
| | | | | (tryLock): Use lockCheck(). (lock): Likewise.
* * gnu/java/nio/channels/FileChannelImpl.java (description):Mark Wielaard2005-07-261-15/+32
| | | | | | | | | | New final field. (FileChannelImpl): Set description. (init): Likewise. (toString): New method. All methods add parameters when throwing IllegalArgumentException. * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c (open): Add filename to FileNotFoundException.
* 2005-07-25 Roman Kennke <roman@kennke.org>Roman Kennke2005-07-251-5/+17
| | | | | | | | * gnu/java/nio/channels/FileChannelImpl.java (static initializer): Init out, err and in here. * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c (Java_gnu_java_nio_channels_FileChannelImpl_init): Moved init code for in, out and err to Java code.
* * gnu/java/nio/channels/FileChannelImpl.java (force): New nativeMark Wielaard2005-07-111-0/+4
| | | | | | | | | | | | | | | | | method. (force(boolean)): Call new native force method. * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c (Java_gnu_java_nio_channels_FileChannelImpl_read__): Test for result != TARGET_NATIVE_OK as stop condition. (Java_gnu_java_nio_channels_FileChannelImpl_read___3BII): Check overflow and underflow. Only increase bytes_read when we didn't get an error. (Java_gnu_java_nio_channels_FileChannelImpl_write__I): Return when we encounter an error. (Java_gnu_java_nio_channels_FileChannelImpl_write___3BII): Only increase bytes_written when we didn't get an error. (Java_gnu_java_nio_channels_FileChannelImpl_force): New function. * include/gnu_java_nio_channels_FileChannelImpl.h: Regenerated.
* * all files: Update for new FSF address.Mark Wielaard2005-07-022-4/+4
|
* 2005-05-31 Jeroen Frijters <jeroen@frijters.net>Jeroen Frijters2005-05-311-3/+8
| | | | | | | | | | | * gnu/java/nio/channels/FileChannelImpl.java (FileChannelImpl()): Removed. (FileChannelImpl(File,int)): Made private. (create): New method. * java/io/FileInputStream.java, java/io/FileOutputStream.java, java/io/RandomAccessFile.java: Updated construction of FileChannelImpl instance.
* 2005-05-03 Andrew Overholt <overholt@redhat.com>Tom Tromey2005-05-031-2/+4
| | | | | | | * gnu/java/nio/channels/FileChannelImpl.java: Return null if lock could not be acquired. * java/nio/channels/FileLock.java (toString): Re-implement to be in line with other implementations.
* 2005-04-29 Dalibor Topic <robilad@kaffe.org>Mark Wielaard2005-04-291-1/+19
| | | | | | | | | | | | | | | | * java/nio/channels/FileChannelImpl.java (FileChannelImpl(Sting, int)): Removed. (FileChannelImpl(File, int)) Added. Check if opened file is a directory. * java/io/FileInputStream.java(FileInputStream): Fixed javadocs. Call FileChannelImpl(File, int). * java/io/FileOutputStream.java (FileInputStream): Call FileChannelImpl(File, int). * java/io/RandomAccessFile.java (RandomAccessFile): Call FileChannelImpl(File, int). Switched constructors around.
* 2005-04-26 Luca Barbieri <luca.barbieri@gmail.com>Tom Tromey2005-04-261-2/+2
| | | | | | * gnu/java/nio/channels/FileChannelImpl.java (tryLock): Pass 'false' to native lock(). (lock): Pass 'true' to native lock().
* 2005-03-10 Andrew Haley <aph@redhat.com>Andrew Haley2005-03-101-12/+88
| | | | | | | | | * gnu/java/nio/channels/FileChannelImpl.java (smallTransferFrom): New. (smallTransferTo): New. (transferFrom): Loop around smallTransferFrom, copying pageSize bytes each time. (transferTo): Likewise.
* 2005-03-02 Michael Koch <konqueror@gmx.de>Michael Koch2005-03-021-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/color/package.html, gnu/java/awt/image/package.html, gnu/java/awt/package.html, gnu/java/awt/peer/package.html, gnu/java/beans/decoder/package.html, gnu/java/beans/editors/package.html, gnu/java/beans/package.html, gnu/java/io/decode/package.html, gnu/java/io/encode/package.html, gnu/java/io/package.html, gnu/java/lang/package.html, gnu/java/lang/reflect/package.html, gnu/java/locale/package.html, gnu/java/math/package.html, gnu/java/net/package.html, gnu/java/net/protocol/file/package.html, gnu/java/net/protocol/http/event/package.html, gnu/java/net/protocol/jar/package.html, gnu/java/nio/channels/package.html, gnu/java/nio/charset/package.html, gnu/java/nio/package.html, gnu/java/rmi/dgc/package.html, gnu/java/rmi/package.html, gnu/java/rmi/registry/package.html, gnu/java/rmi/server/package.html, gnu/java/security/action/package.html, gnu/java/security/ber/package.html, gnu/java/security/der/package.html, gnu/java/security/package.html, gnu/java/security/pkcs/package.html, gnu/java/security/provider/package.html, gnu/java/security/util/package.html, gnu/java/security/x509/ext/package.html, gnu/java/security/x509/package.html, gnu/java/text/package.html, gnu/java/util/package.html, gnu/java/util/prefs/package.html, java/lang/annotation/package.html: New files.
* 2005-02-17 Ito Kazumitsu <kaz@maczuka.gcd.org>Michael Koch2005-02-171-1/+2
| | | | | * gnu/java/nio/channels/FileChannelImpl.java (write(ByteBuffer)): Move the position of the source buffer forward.
* 2004-07-28 Michael Koch <konqueror@gmx.de>Michael Koch2004-07-282-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.am (SUBIDRS): Removed gnu, java, javax and vm. * configure.ac (AC_CONFIG_FILES): Removed all now unused Makefiles. * lib/Makefile.am (dist-hook): New target to put all files in the gnu, java, javax and vm directories into the dist tarball. * lib/gen-classlist.sh.in: Don't search for class files in ${top_builddir}/java and ${top_builddir}/javax. There are none. * gnu/classpath/.cvsignore, gnu/classpath/Makefile.am, gnu/.cvsignore, gnu/java/awt/.cvsignore, gnu/java/awt/image/.cvsignore, gnu/java/awt/image/Makefile.am, gnu/java/awt/Makefile.am, gnu/java/awt/peer/.cvsignore, gnu/java/awt/peer/gtk/.cvsignore, gnu/java/awt/peer/gtk/Makefile.am, gnu/java/awt/peer/Makefile.am, gnu/java/beans/.cvsignore, gnu/java/beans/editors/.cvsignore, gnu/java/beans/editors/Makefile.am, gnu/java/beans/info/.cvsignore, gnu/java/beans/info/Makefile.am, gnu/java/beans/Makefile.am, gnu/java/.cvsignore, gnu/java/io/.cvsignore, gnu/java/io/decode/.cvsignore, gnu/java/io/decode/Makefile.am, gnu/java/io/encode/.cvsignore, gnu/java/io/encode/Makefile.am, gnu/java/io/Makefile.am, gnu/java/lang/.cvsignore, gnu/java/lang/Makefile.am, gnu/java/lang/reflect/.cvsignore, gnu/java/lang/reflect/Makefile.am, gnu/java/locale/.cvsignore, gnu/java/locale/Makefile.am, gnu/java/Makefile.am, gnu/java/math/.cvsignore, gnu/java/math/Makefile.am, gnu/java/net/content/.cvsignore, gnu/java/net/content/Makefile.am, gnu/java/net/content/text/.cvsignore, gnu/java/net/content/text/Makefile.am, gnu/java/net/.cvsignore, gnu/java/net/Makefile.am, gnu/java/net/protocol/.cvsignore, gnu/java/net/protocol/file/.cvsignore, gnu/java/net/protocol/file/Makefile.am, gnu/java/net/protocol/http/.cvsignore, gnu/java/net/protocol/http/Makefile.am, gnu/java/net/protocol/jar/.cvsignore, gnu/java/net/protocol/jar/Makefile.am, gnu/java/net/protocol/Makefile.am, gnu/java/nio/channels/.cvsignore, gnu/java/nio/channels/Makefile.am, gnu/java/nio/charset/.cvsignore, gnu/java/nio/charset/Makefile.am, gnu/java/nio/.cvsignore, gnu/java/nio/Makefile.am, gnu/java/rmi/.cvsignore, gnu/java/rmi/dgc/.cvsignore, gnu/java/rmi/dgc/Makefile.am, gnu/java/rmi/Makefile.am, gnu/java/rmi/registry/.cvsignore, gnu/java/rmi/registry/Makefile.am, gnu/java/rmi/rmic/.cvsignore, gnu/java/rmi/rmic/Makefile.am, gnu/java/rmi/server/.cvsignore, gnu/java/rmi/server/Makefile.am, gnu/java/security/action/Makefile.am, gnu/java/security/.cvsignore, gnu/java/security/der/.cvsignore, gnu/java/security/der/Makefile.am, gnu/java/security/Makefile.am, gnu/java/security/provider/.cvsignore, gnu/java/security/provider/Makefile.am, gnu/java/security/util/.cvsignore, gnu/java/security/util/Makefile.am, gnu/java/security/x509/.cvsignore, gnu/java/security/x509/Makefile.am, gnu/java/text/.cvsignore, gnu/java/text/Makefile.am, gnu/java/util/.cvsignore, gnu/java/util/Makefile.am, gnu/java/util/prefs/.cvsignore, gnu/java/util/prefs/Makefile.am, gnu/javax/.cvsignore, gnu/javax/Makefile.am, gnu/javax/rmi/CORBA/.cvsignore, gnu/javax/rmi/CORBA/Makefile.am, gnu/javax/rmi/.cvsignore, gnu/javax/rmi/Makefile.am, gnu/Makefile.am, gnu/regexp/.cvsignore, gnu/regexp/Makefile.am, java/applet/.cvsignore, java/applet/Makefile.am, java/awt/color/.cvsignore, java/awt/color/Makefile.am, java/awt/.cvsignore, java/awt/datatransfer/.cvsignore, java/awt/datatransfer/Makefile.am, java/awt/dnd/.cvsignore, java/awt/dnd/Makefile.am, java/awt/dnd/peer/.cvsignore, java/awt/dnd/peer/Makefile.am, java/awt/event/.cvsignore, java/awt/event/Makefile.am, java/awt/font/.cvsignore, java/awt/font/Makefile.am, java/awt/geom/.cvsignore, java/awt/geom/Makefile.am, java/awt/image/.cvsignore, java/awt/image/Makefile.am, java/awt/image/renderable/.cvsignore, java/awt/image/renderable/Makefile.am, java/awt/im/.cvsignore, java/awt/im/Makefile.am, java/awt/im/spi/.cvsignore, java/awt/im/spi/Makefile.am, java/awt/Makefile.am, java/awt/peer/.cvsignore, java/awt/peer/Makefile.am, java/awt/print/.cvsignore, java/awt/print/Makefile.am, java/beans/beancontext/.cvsignore, java/beans/beancontext/Makefile.am, java/beans/.cvsignore, java/beans/Makefile.am, java/.cvsignore, java/io/.cvsignore, java/io/Makefile.am, java/lang/.cvsignore, java/lang/Makefile.am, java/lang/ref/.cvsignore, java/lang/reflect/.cvsignore, java/lang/reflect/Makefile.am, java/lang/ref/Makefile.am, java/Makefile.am, java/math/.cvsignore, java/math/Makefile.am, java/net/.cvsignore, java/net/Makefile.am, java/nio/channels/.cvsignore, java/nio/channels/Makefile.am, java/nio/channels/spi/.cvsignore, java/nio/channels/spi/Makefile.am, java/nio/charset/.cvsignore, java/nio/charset/Makefile.am, java/nio/charset/spi/.cvsignore, java/nio/charset/spi/Makefile.am, java/nio/.cvsignore, java/nio/Makefile.am, java/rmi/activation/.cvsignore, java/rmi/activation/Makefile.am, java/rmi/.cvsignore, java/rmi/dgc/.cvsignore, java/rmi/dgc/Makefile.am, java/rmi/Makefile.am, java/rmi/registry/.cvsignore, java/rmi/registry/Makefile.am, java/rmi/server/.cvsignore, java/rmi/server/Makefile.am, java/security/acl/.cvsignore, java/security/acl/Makefile.am, java/security/cert/.cvsignore, java/security/cert/Makefile.am, java/security/.cvsignore, java/security/interfaces/.cvsignore, java/security/interfaces/Makefile.am, java/security/Makefile.am, java/security/spec/.cvsignore, java/security/spec/Makefile.am, java/sql/.cvsignore, java/sql/Makefile.am, java/text/.cvsignore, java/text/Makefile.am, java/util/.cvsignore, java/util/jar/.cvsignore, java/util/jar/Makefile.am, java/util/logging/.cvsignore, java/util/logging/Makefile.am, java/util/Makefile.am, java/util/prefs/.cvsignore, java/util/prefs/Makefile.am, java/util/regex/.cvsignore, java/util/regex/Makefile.am, java/util/zip/.cvsignore, java/util/zip/Makefile.am, javax/accessibility/.cvsignore, javax/accessibility/Makefile.am, javax/.cvsignore, javax/imageio/.cvsignore, javax/imageio/event/.cvsignore, javax/imageio/event/Makefile.am, javax/imageio/Makefile.am, javax/imageio/spi/.cvsignore, javax/imageio/spi/Makefile.am, javax/imageio/stream/.cvsignore, javax/imageio/stream/Makefile.am, javax/Makefile.am, javax/naming/.cvsignore, javax/naming/directory/.cvsignore, javax/naming/directory/Makefile.am, javax/naming/event/.cvsignore, javax/naming/event/Makefile.am, javax/naming/ldap/.cvsignore, javax/naming/ldap/Makefile.am, javax/naming/Makefile.am, javax/naming/spi/.cvsignore, javax/naming/spi/Makefile.am, javax/print/attribute/.cvsignore, javax/print/attribute/Makefile.am, javax/print/attribute/standard/Makefile.am, javax/print/.cvsignore, javax/print/event/.cvsignore, javax/print/event/Makefile.am, javax/print/Makefile.am, javax/rmi/CORBA/.cvsignore, javax/rmi/CORBA/Makefile.am, javax/rmi/.cvsignore, javax/rmi/Makefile.am, javax/security/auth/.cvsignore, javax/security/auth/Makefile.am, javax/security/auth/x500/.cvsignore, javax/security/auth/x500/Makefile.am, javax/security/.cvsignore, javax/security/Makefile.am, javax/sql/.cvsignore, javax/sql/Makefile.am, javax/swing/border/.cvsignore, javax/swing/border/Makefile.am, javax/swing/colorchooser/.cvsignore, javax/swing/colorchooser/Makefile.am, javax/swing/.cvsignore, javax/swing/event/.cvsignore, javax/swing/event/Makefile.am, javax/swing/filechooser/.cvsignore, javax/swing/filechooser/Makefile.am, javax/swing/Makefile.am, javax/swing/plaf/basic/.cvsignore, javax/swing/plaf/basic/Makefile.am, javax/swing/plaf/.cvsignore, javax/swing/plaf/Makefile.am, javax/swing/plaf/metal/.cvsignore, javax/swing/plaf/metal/Makefile.am, javax/swing/table/.cvsignore, javax/swing/table/Makefile.am, javax/swing/text/.cvsignore, javax/swing/text/html/.cvsignore, javax/swing/text/html/Makefile.am, javax/swing/text/html/parser/.cvsignore, javax/swing/text/html/parser/Makefile.am, javax/swing/text/Makefile.am, javax/swing/tree/.cvsignore, javax/swing/tree/Makefile.am, javax/swing/undo/.cvsignore, javax/swing/undo/Makefile.am, javax/transaction/.cvsignore, javax/transaction/Makefile.am, javax/transaction/xa/.cvsignore, javax/transaction/xa/Makefile.am, vm/reference/gnu/.cvsignore, vm/reference/gnu/java/.cvsignore, vm/reference/gnu/java/Makefile.am, vm/reference/gnu/java/nio/.cvsignore, vm/reference/gnu/java/nio/Makefile.am, vm/reference/gnu/Makefile.am, vm/reference/java/.cvsignore, vm/reference/java/io/.cvsignore, vm/reference/java/io/Makefile.am, vm/reference/java/lang/.cvsignore, vm/reference/java/lang/Makefile.am, vm/reference/java/lang/reflect/.cvsignore, vm/reference/java/lang/reflect/Makefile.am, vm/reference/java/Makefile.am, vm/reference/java/security/.cvsignore, vm/reference/java/security/Makefile.am: Removed.
* * gnu/java/nio/channels/FileChannelImpl.java (finalize): New method.Mark Wielaard2004-05-021-0/+8
|
* * gnu/java/nio/channels/FileChannelImpl.java (truncate): Only truncateMark Wielaard2004-05-011-1/+3
| | | | | | | | | | when size is smaller. * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c (implTruncate): Always save current position. Only reposition file pointer to where we started if not beyond new lenght. Reposition file pointer to file length if it points beyond the end of file. * java/io/RandomAccessFile.java (setLength): Use truncate for shrinking the file and seek plus write for expanding the file.
* 2004-04-23 Michael Koch <konqueror@gmx.de>Michael Koch2004-04-231-5/+0
| | | | | * gnu/java/nio/channels/FileChannelImpl.java (SET, CUR): Unused, removed.
* 2004-04-13 Jeroen Frijters <jeroen@frijters.net>Jeroen Frijters2004-04-131-1/+1
| | | | * gnu/java/nio/channels/FileChannelImpl.java: (FileChannelImpl(int,int)) Made package private instead of private.
* 2004-04-11 Jeroen Frijters <jeroen@frijters.net>Jeroen Frijters2004-04-111-0/+7
| | | | * gnu/java/nio/channels/FileChannelImpl.java: (FileChannelImpl(int,int)) Restored previously removed constructor and made it private.
* 2004-04-10 Michael Koch <konqueror@gmx.de>Michael Koch2004-04-101-0/+2
| | | | | | * .cvsignore: Ignore ltmain.sh. * gnu/java/nio/channels/.cvsignore, gnu/regexp/.cvsignore: New files.
* 2004-04-09 Jeroen Frijters <jeroen@frijters.net>Jeroen Frijters2004-04-091-16/+7
| | | | * gnu/java/nio/channels/FileChannelImpl.java (fd, mode): Made private. (length, pos): Removed. (FileChannelImpl (int, int)): Removed. (implPosition, seek, implTruncate, unlock, lock): Added throws clause.
* 2004-04-08 Michael Koch <konqueror@gmx.de>Michael Koch2004-04-082-0/+428
* configure.ac: Added gnu/java/nio/channels/Makefile to output files. * gnu/java/nio/Makefile.am: Added subdir channels. * include/gnu_java_nio_channels_FileChannelImpl.h: New file. * include/java_io_FileDescriptor.h, include/java_nio_DirectByteBufferImpl.h: Updates. * include/java_nio_channels_FileChannelImpl.h: Removed. * include/Makefile.am: Handle generation of gnu_java_nio_channels_FileChannelImpl.h. * java/nio/channels/Makefile.am (EXTRA_DIST): Removed FileChannelImpl.java. * native/jni/java-nio/Makefile.am (libjavanio_la_SOURCES): Removed java_nio_FileChannelImpl.c and added gnu_java_nio_channels_FileChannelImpl.c. * native/jni/java-io/FileDescriptor.c: Commented out all code. * native/jni/java-nio/gnu_java_nio_channels_FileChannelImpl.c: New file. * native/jni/java-nio/java_nio_DirectByteBufferImpl.c: Fixed method names. * native/jni/java-nio/java_nio_FileChannelImpl.c: Removed. 2004-04-08 Per Bothner <per@bothner.com> * java/nio/channels/Channels.java (newInputStream, newOutputStream): Optimize when argument is a FileChannelImpl. (newInputStream(FileChannelImpl), newOutputStream(FileChannelImpl)): New native methods. 2004-04-08 Per Bothner <per@bothner.com> * java/nio/channels/FileChannelImpl.java: Moved to package gnu/java/nio/channels, since we need to refer to it from java.io. * java/nio/channels/natFileChannelImpl.cc: Removed file. * gnu/java/nio/channels/FileChannelImpl.java: New class, renamed from java/nio/channels. Don't depend on FileDescriptor. (in, out, err): New static fields. (mode): New field. (SET, CUR, READ, WRITE, APPEND, EXCL, SYNC, DSYNC): Moved constants from FileDescriptor. (by): Removed MappedByteBuffer field. (map): New working implementation. * java/io/FileDescriptor.java: Implement on top of FileChannel. Remove native methods. * gnu/java/nio/FileLockImpl.java (fd): Remove field, replacing it by: (ch): New FileChannelImpl field. Update constructor to match. (releaseImpl): Remove native method. Instead ... (release): Call unlock on channel. * java/io/FileInputStream.java (ch): Change type to FileChannelImpl. (<init>(File)): Allocate a FileChannelImpl, not a FileDescriptor. (<init>(FileChannelImpl)): New package-private constructor. (<init>(FileDescriptor)): Extract FileChannelImpl from arg. (available, close, read, skip): Implement using FileChannelImpl. (getFD): Allocate FileDescriptor if needed. (getChannel): Is now trivial. * java/io/FileOutputStream.java: Corresponding changes. * java/io/RandomAccessFile.java: Corresponding changes. * java/nio/MappedByteBuffer.java: (forceImpl, isLoadedImpl, loadImpl, unmapImpl): New dummy methods, to be overridden by subclass. (finalize, isLoaded, load, force): New methods. * java/nio/MappedByteBufferImpl.java: More-or-less rewrite. Now works, at least for read mapping. 2004-04-08 Per Bothner <per@bothner.com> * java/nio/CharBufferImpl.java: Inline super constructor. * java/nio/DoubleBufferImpl.java: Likewise. * java/nio/FloatBufferImpl.java: Likewise. * java/nio/IntBufferImpl.java: Likewise. * java/nio/LongBufferImpl.java: Likewise. * java/nio/ShortBufferImpl.java: Likewise. * java/nio/CharBuffer.java: Remove unused constructor. * java/nio/DoubleBuffer.java: Likewise. * java/nio/FloatBuffer.java: Likewise. * java/nio/IntBuffer.java: Likewise. * java/nio/LongBuffer.java: Likewise. * java/nio/ShortBuffer.java: Likewise. * java/nio/CharViewBufferImpl.java: New convenience constructor. Fix buggy call to super constructor. * java/nio/DoubleViewBufferImpl.java: Likewise. * java/nio/FloatViewBufferImpl.java: Likewise. * java/nio/IntViewBufferImpl.java: Likewise. * java/nio/LongViewBufferImpl.java: Likewise. * java/nio/ShortViewBufferImpl.java: Likewise. * java/nio/ByteBuffer.java (endian): Make non-private so other java.nio classes can inherit it. (<init>): Don't bother clearing array_offset. * java/nio/ByteBuffer.java (allocate): Re-implement using wrap. * java/nio/ByteBuffer.java (get(byte[],int,int)): Check underflow. Remove redundant test. * java/nio/ByteBufferImpl.java (asCharBuffer, asShortBuffer, asIntBuffer, asLongBuffer, asFloatBuffer, asDoubleBuffer): Use new XxxViewBufferImpl constructors. * java/nio/MappedByteBufferImpl.java: Likewise. * java/nio/DirectByteBufferImpl.java: Likewise. * java/nio/ByteBufferImpl.java: Remove one constructor. Inline super in remaining constructor. * java/nio/ByteBuffer.java: Remove unused constructor. * java/nio/ByteBufferImpl.java (shiftDown): New optimized method. * java/nio/ByteBufferImpl.java (get, put): Add array_offset. * java/nio/DirectByteBufferImpl.java (owner): New field. (offset): Remove unused field. (<init>): Modify one and add another constructor. Change callers. (allocateDirect): Removed - not used. (getImpl, putImpl): Make static and pass address explicitly, to make them useful for MappedByteBufferImpl. (get, put): Check for underflow. Modify for new getImpl. (getImpl): New native method where target is array. (get(byte[],int,int)): Use the above. (adjustAddress): New static native method. (slice, duplicate, asReadOnly): New implementations. 2004-04-08 Per Bothner <per@bothner.com> * java/nio/ByteBuffer.java (shiftDown): New helper method. * java/nio/ByteBufferImpl.java (compact): Use new shiftDown method. * sava/nio/ByteBufferHelper.java: Remove redundant 'final' specifiers. Pass ByteOrder parameter to most methods, since the underlying ByteBuffer's order isn't always what we should use. * java/nio/ByteBufferImpl.java: Pass byte-order various places. * java/nio/DirectByteBufferImpl.java: Likewise. Use ByteBufferHelper methods. * java/nio/MappedByteBufferImpl.java: Likewise. (compact): Use shiftDown. * java/nio/CharViewBufferImpl.java (<init>): Pass byte-order. (get, put): Use ByteBufferHelper. (compact): Use new shiftDown method. (duplicate(boolean)): New helper method. (duplicate, asReadOnlyBuffer): Use it. (order): Return endian field. * java/nio/DoubleViewBufferImpl.java: Likewise. * java/nio/FloatViewBufferImpl.java: Likewise. * java/nio/IntViewBufferImpl.java: Likewise. * java/nio/LongViewBufferImpl.java: Likewise. * java/nio/ShortViewBufferImpl.java: Likewise. * java/nio/CharViewBufferImpl.java (subsequence): Redundant test. * java/nio/DirectByteBufferImpl.java (shiftDown): New native method. (compact): Re-implement using shiftDown.