| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
jau::io::ByteInStream_[URL|Feed]'s available() and read() operation.
jau::ringbuffer: Add 'End of Stream' (EOS) concept to unblock all read-operations from this point onwards
and unblocking a potentially currently blocked reader thread.
The EOS concept is required to allow blocking operations from a consumer (reader) w/o knowledge of the content-size,
having the producer (writer) signaling EOS at the end and unblocking all read-operations.
Fuerther, after unblocking a potentially blocker reader-thread,
the failure criteria is now being checked as for the `timeout` case.
This allows a read-thread being unblocked (interrupted) after writing the last chunk
and hence picking up this last written data.
+++
Utilize ringbuffer EOS concept for jau::io::ByteInStream_[URL|Feed]'s available() and read() operation,
i.e. both methods utilize blocking operations.
After the producer (URL: Our Curl consume callback; Feed: Manual set_eof()) marks EOS on the ringbuffer,
all blocking read-operations are permanently unblocked and a current read-thread also interrupted.
+++
Passed test_bytestream01 and test_iostream01
while causing full CPU load via `stress --cpu $(getconf _NPROCESSORS_ONLN)`.
|
| |
|
|
|
|
| |
JaulibSetup is still C++17 (if !DEFINED CMAKE_CXX_STANDARD)
|
| |
|
|
|
|
| |
platform tests in CHANGES.md
|
| |
|
|
|
|
|
|
|
| |
- Hide `delegate_t` union details using a non-anonymous type.
- Rename `function<R(A...)>::delegate_t_` to `function<R(A...)>::delegate_type`
- Add ylambda example using `function<R(A...)>::delegate_type` instead of `auto`
- Fix link to example
|
|
|
|
|
|
| |
(recursions, ...); API doc cleanup
Covered in unit tests, passed valgrind tests.
|
|
|
|
|
|
|
|
|
|
| |
capture field and using a copy of function<R(A...)> closure
Since the new implementation uses a deep copy of the target function details,
the described test complies w/ expected behavior - which is:
- Each function<R(A...)> closure instance of a mutating lambda has its own state
This test fails with the previous implementation using a shared_ptr<target_t<R(A...)>>
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
`jau::codec::base` and Java `org.jau.util.BaseCodec`
|
|
|
|
| |
encoding (Java/C++)
|
| |
|
| |
|
| |
|
|
|
|
| |
and all specializations, refine single byte API
|
| |
|
| |
|
|
|
|
| |
update CHANGES
|
| |
|
| |
|
|
|
|
| |
''org.jau.nio.UriTk'; C++: 'jau::io::uri' -> 'jau::io::uri_tk'
|
|
|
|
| |
`TestsudoFileUtils02.java`; API-doc: Detail mount/umount capabilities (alt to sudo)
|
|
|
|
| |
test_fileutils01.cpp -> TestFileUtils01.java
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`test_bytestream01`; Refine ByteInStream*.java mapping ...
- Move ByteInStream.create() -> NioUtils.to_ByteInStream()
- Added ByteInStream.closeStream() allowing to close the underlying stream w/o disposing native instance as with close()
- ByteInStream.read() returns 'int' for length since all is based on pinned byte arrays anyways
- Added NioUtils.read_stream() with StreamConsumer type similar as with C++ helper.
- Added JauUtils for basic output support for tests
- TestByteStream01 mimicks native code flow 100%
|
|
|
|
|
|
|
|
|
|
|
| |
jaulib-fat.jar; Add [check|is]Initialized(); ...
Order of static lib loading:
- load `jaulib`
- load `jaulib_jni_jni`
- if MACOS or IOS load `jaulib_pkg_jni`
Fix jaulib_pkg_jni: Use own JVM_JNI8.cxx
|
|
|
|
| |
general use
|
|
|
|
| |
libcap-dev libcap2-bin squashfs-tools are required
|
| |
|
| |
|
| |
|
| |
|
|
|