| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
'direct_bt_debug'; Echo COMMANDLINE and debug env-var.
|
|
|
|
|
|
|
| |
.. achieved via unique mutex lock.
Hence perform DBTDevice::remove() within adapter to ensure
disconnect and device reference removal is atomic covered by uniue lock.
|
|
|
|
|
|
| |
Fix order of explicitly removing shared reference: connected-devices, discovered-devices and shared-devices.
Fix disconnect also removes its ref from discovered-devices, besides connected-devices,
but not shared-devices.
|
| |
|
| |
|
|
|
|
| |
'direct_bt_debug' if ''direct_bt.debug' wasn't found.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C++ Libs -> none (2x)
Java Jar -> none
Java JNI Libs -> C++ Lib + Java Jar (2x)
C++ Examples -> C++ Libs
Java Examples -> Java Jar
Test -> C++ Lib
+++
scripts/[re]build.sh uses `getconf _NPROCESSORS_ONLN`
for the make -j <number of parallel processes>.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Jar file is being build.
JNI header generation is satisfied by 'add_jar(.. GENERATE_NATIVE_HEADERS <target> DESTINATION <dir>)',
note that its GENERATE_NATIVE_HEADERS target is a dummy target, since jni/direct_bt defines target javadirect_bt.
Weakness of not directly checking build dependency of javadirect_bt against generated headers exists,
however, it is unrealistic to assume that the transient generated JNI header will be edited manually
within the process.
Therefor we can use the dummy target javadirect_bt_javah and JNI header generation will only
occur when java sources have been modified, i.e. the jar file being actually build.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RELEASE Builds w/ -O3: dist-amd64/lib/libdirect_bt.so.2.1.20
pre-opt:
2,131,720
post-opt: 74,424 bytes reduced: 3.5%
2,057,296 commit (this commit)
Besides footprint and natural performance benefits,
mostly quality regarding conscious managing of exception handling
benefitted this last 'noexcept' changeset.
Notable here *Octets and ATTPDU types range checking
has been moved into the ctor to allow member access
w/o range checks and hence avoiding potential exceptions.
|
| |
|
| |
|
|
|
|
| |
ex-namespace w/o 'using'
|
| |
|
| |
|
|
|
|
| |
We had to keep quite many methods due to 'exception bail out' usage on broken connection.
|
| |
|
| |
|
|
|
|
| |
uintXHexString(..) using ERR_PRINT and abort for internal error
|
|
|
|
|
|
| |
'enum class' type
In case of an internal error, simply ERR_PRINT and abort, usually the toString() implementations.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
range, dropping checks on data usage...
Also
- Fix MgmtEvtNewConnectionParam's offset for getDataOffset() and getDataSize(): 14 -> 16
- HCIHandler: Use new IndexOutOfBoundsException ctor w/o bounds
|
|
|
|
| |
range, dropping checks on data usage.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
RELEASE Builds w/ -O3:
pre-opt:
2,131,720 dist-amd64/lib/libdirect_bt.so.2.1.20
noexcept round-1: (added OctetTypes _nc methods, hence offsetting reduction)
2,132,112 dist-amd64/lib/libdirect_bt.so.2.1.20
noexcept round-2: (reductions only) ~20k less
2,111,632 dist-amd64/lib/libdirect_bt.so.2.1.20
|
| |
|
|
|
|
| |
OctetTypes and use them if allowed.
|
| |
|
|
|
|
|
|
|
|
|
| |
i.e. Debian 10 Buster with GCC 8.3)
GCC 10.1 mostly covers C++20 and is default on Debian 11 Bullseye, we will move there when established.
For now let's use C++17 at least, especially since GCC C++ ABI fixes a few code generation issues
and we intend to further simplify our C++ codebase.
|
|
|
|
| |
platforms, i.e. Debian 10 Buster with GCC 8.3)
|
| |
|
| |
|
|
|
|
| |
The \example tag referring to the example code file must be added to the actual API (header) files.
|
|
|
|
|
|
| |
include examples to INPUT (TBD)
Failed to get the EXAMPLES section produces still, hence added examples to INPUT.
|
|
|
|
|
|
| |
depenencies, build, ..); Add \example tag in examples.
For unknown reason, examples are not visible in result.
|
|
|
|
|
|
| |
(can be) enabled; Act upon power-off: Close all connections etc.
ScannerTinyB10 also reacts on power-on, i.e. start discovery.
|
|
|
|
|
|
| |
BTMode from AdapterInfo's AdapterSettings
Java property is 'org.tinyb.btmode' (not yet mapped to C++)
|
| |
|
| |
|
| |
|
|
|
|
| |
'direct_bt.debug.manager.event' -> 'direct_bt.debug.mgmt.event'
|
|
|
|
|
|
| |
GATTHandler::disconnect() w/o locking, only then lock and null shared refs
This avoids potential locking and increases responsiveness
|
|
|
|
|
|
| |
locking, pulling l2cap from read/write operations
This avoids potential locking and increases responsiveness
|
|
|
|
|
|
|
|
|
| |
no GATTServices available
This required getGATTServices() (C++) or getServices() (Java) to be completed, hence added remark in API doc.
Reasoning is that pingGATT shall not initiated resource creation, but assumes all set set up well.
If failing, it shall cause a disconnected.
|
|
|
|
| |
documentation. Also document the actual environment variable name for each entry.
|
|
|
|
|
|
|
|
| |
Use exploding properties for DBTManager, HCIHandler and GATTHandler timeout+ settings
Also support these via ScannerTinyB10.java, so a user may call:
sh ../scripts/run-java-scanner10.sh -debug -dbt_debug hci.event=false,gatt.event=true -dbt_gatt cmd.read.timeout=10000,cmd.write.timeout=20000,cmd.init.timeout=9999,ringsize=512
|
|
|
|
|
|
| |
their respective singleton holder for efficacy
This avoids retrieving the property more than once, thanks to the new singleton environment holder
|