History log of /libcore/luni/src/main/java/java/nio/NioUtils.java
Revision Date Author Comments
0aff1dd0b4be1b8d8cb45b59079ca883a1b3205a 17-Jun-2014 Elliott Hughes <enh@google.com> Remove.

(cherry-pick of 63744c884dd4b4f4307f2b021fb894af164972af.)

Change-Id: Ibf79a402e1bad98a262e380fcee3d35c127ae6d5
63744c884dd4b4f4307f2b021fb894af164972af 17-Jun-2014 Elliott Hughes <enh@google.com> Remove.

Change-Id: Ibf79a402e1bad98a262e380fcee3d35c127ae6d5
f0d40d662d9dfdb04215c718961765837d2cf00c 11-Apr-2014 Neil Fuller <nfuller@google.com> libcore changes to support asynchronous close interruption

Previously AsynchronousSocketCloseMonitor was used to handle
socket interruption on close. To support the same for
FileChannel it has been renamed to AsynchronousCloseMonitor.
The Java class was already called this.

FileInputStream, FileOutputStream, RandomAccessFile will
now throw IOException if a connection is closed by another
thread during read. Thread.interrupt() continues to have no effect
on streams.

FileChannel will now throw AsynchronousCloseException during
reads and writes if the file is closed, per the documentation.

FileChannel will now throw ClosedByInterruptException during
reads and writes if the thread reading/writing is interrupted.

Note: FileChannel.lock() will probably still not not throw
AsynchronousCloseException, though it probably should.

This change also has impact on external/conscrypt and
frameworks/base.

Change-Id: I37de3e7d1a005a73821221e6156d10b95c595d7a
Bug: 13927110
ff81b740a338ba964e0ba1c40d925fb2ceb37bf2 20-Jan-2014 Neil Fuller <nfuller@google.com> Adding additional methods to NetworkChannel.

Adding NetworkChannel.supportedOptions(), NetworkChannel.getOption(),
NetworkChannel.setOption(). A lot of the changes are in documentation
and tests.

Bug: 12464155
Change-Id: Ifa56843a8823b6b9cbd262409adc2450b401c654
db23ba7b94acccfad73456c06a507295a7896a90 29-Mar-2013 Elliott Hughes <enh@google.com> Remove dead NioUtils.getDirectBufferAddress.

Change-Id: I764d86db1d74c5daf54cc925a9fc76db15a1107a
fe5da19e0e366286cd4d95f7628fe9442b9062c8 27-Mar-2013 Elliott Hughes <enh@google.com> Simplify the nio Buffer implementations, and fix MappedByteBuffer.

* Fix the reported bug caused by delegation in the MappedByteBuffer
implementation.

* Collapse the three classes (ReadOnly*, ReadWrite*, and *) used
to implement most buffer types into one class each.

* Rename HeapByteBuffer to ByteArrayBuffer to match its companions.

* Remove BaseByteBuffer.

* Give the classes used to implement asXBuffer sane names (their
existing names were backwards).

Bug: https://code.google.com/p/android/issues/detail?id=53637
Change-Id: I2a7ff4f1d502564389615384324afadabccb04f9
4af0d8c99d68bcacff182699527d983a1d34fdbe 28-Mar-2011 Elliott Hughes <enh@google.com> Support read-only ByteBuffers.

Buffer.array() and Buffer.arrayOffset() throw for read-only buffers. We need
to work round this. We know that this is safe because we trust ourselves not
to write to read-only buffers and because all non-direct buffers have a
backing array.

Bug: 3107501
Change-Id: I501a5f7ddba2c66d22864bf4a41b927263493293
52724d3ebd4ccaaa4b9f5576e329d4272cde8ea9 17-Mar-2011 Elliott Hughes <enh@google.com> Add fsync(2) and fdatasync(2).

Interesting parts to this change:
* first BlockGuard support (and general delegation support).
* first rethrowing of ErrnoException as IOException.
* switching FileChannelImpl from int to FileDescriptor.

The special case in FileDescriptor.sync has been removed. Testing with the RI
showed that it doesn't treat syncing a FileDescriptor that corresponds to a
socket as a special case --- it throws SyncFailedException just like normal.

Bug: 3107501
Change-Id: I99faf120bd802aec0397a79772ed38c5e1542fed
6ab5999b58777725b4556e4d81bdec56b6d6c182 16-Mar-2011 Elliott Hughes <enh@google.com> Collapse the FileChannel implementations.

This should be an (in)correctness-preserving transformation, with the exception
of tryLock for read-only channels. Previously, that would unconditionally have
been converted to a waiting lock, which seems like a bug.

Bug: 3107501
Change-Id: Ief216c6f9f0a7dbe72f25c2fb63d983ec288f9a5
cdf7a1f942469221bcfd63d9cdf71851b011eaf0 16-Mar-2011 Elliott Hughes <enh@google.com> Expose POSIX constants.

And use them, too. This patch is a little confusing because we already had
constants in Java that were using the POSIX names but that didn't actually
correspond to the constants whose names they'd stolen. Ugh.

Bug: 3107501
Change-Id: Ib64a109c9340b0ecdf80bec91074206c001f455a
ae704b984c10a63883cc366e823d53902d6ac7a9 21-Sep-2010 Elliott Hughes <enh@google.com> Minor tidy-up.

The nio implementation is still a bit of a mess because Java doesn't have any
kind of "module" concept, nor "friend". But this makes it a little less untidy,
and makes the deliberate access control subversions a little more explicit, and
makes various things less accessible than they were.

Change-Id: I514b1e24000b91f86b768ed408fedae115dc3080
0f335c4ed1a0cb419c8ce82183fabb241d5dd032 07-Sep-2010 Elliott Hughes <enh@google.com> Kill getEffectiveAddress.

Set the corresponding field in the constructors.

Requires a dalvikvm change: https://android-git.corp.google.com/g/64866

Bug: 2935622
Change-Id: I26663bfcdb80db75672be71395b861c1a79c24fc
c73a5be50cdd804ff3c12e7b43da08c33cdd6f21 04-Sep-2010 Elliott Hughes <enh@google.com> Move some of the nio implementation into java.nio.

Another stepping-stone to simplifying the PlatformAddress/OSMemory situation.

Bug: 2935622
Change-Id: Ic5b941ee7c17d6b5aeda53c3c2cdf2c43cebff55