]> git.bitcoin.ninja Git - ldk-java/log
ldk-java
2 years agoUpdate Result mapping to use new `_is_ok` function in the C bindings
Matt Corallo [Sun, 28 Nov 2021 23:17:59 +0000 (23:17 +0000)]
Update Result mapping to use new `_is_ok` function in the C bindings

2 years agoCheck array lengths before passing them to C
Matt Corallo [Tue, 30 Nov 2021 01:38:04 +0000 (01:38 +0000)]
Check array lengths before passing them to C

When users pass a static-length array to C we currently CHECK its
length, asserting only if we are built in debug mode. In
production, we happily call JNI's `GetByteArrayRegion` with the
expected length, ignoring any errors. `GetByteArrayRegion`,
however, "THROWS ArrayIndexOutOfBoundsException: if one of the
indexes in the region is not valid.". While its somewhat unclear
what "THROWS" means in the context of a C API, it seems safe to
assume accessing return values after a "THROWS" condition is
undefined. Thus, we should ensure we check array lengths before
calling into C.

We do this here with a simple wrapper function added to
`org.ldk.util.InternalUtils` which checks an array is the correct
length before returning it.

2 years agoCHECK_ACCESS inner pointers using the new __unmangle_inner_ptr meth
Matt Corallo [Mon, 29 Nov 2021 01:03:22 +0000 (01:03 +0000)]
CHECK_ACCESS inner pointers using the new __unmangle_inner_ptr meth

2 years agoAdd Variant-Level docs on complex and unitary enums.
Matt Corallo [Sun, 28 Nov 2021 23:17:52 +0000 (23:17 +0000)]
Add Variant-Level docs on complex and unitary enums.

Fixes #60.

3 years agoAllow users to specify a `UserConfig` when de-ser'ing a ChanManager
Matt Corallo [Thu, 11 Nov 2021 17:43:44 +0000 (17:43 +0000)]
Allow users to specify a `UserConfig` when de-ser'ing a ChanManager

Fixes #55.

3 years agoHold a reference when we pass Option<Trait> to rust
Matt Corallo [Thu, 11 Nov 2021 17:34:41 +0000 (17:34 +0000)]
Hold a reference when we pass Option<Trait> to rust

This resolves a NPE when calling trait methods if the user doesn't
hold their own reference to the underlying trait, which is quite
possible for, eg, the `Filter` object.

We also adapt `HumanObjectPeerTest` to test this with a `Filter`.

3 years agoMake enum-contains-trait detection more robust
Matt Corallo [Thu, 11 Nov 2021 17:34:21 +0000 (17:34 +0000)]
Make enum-contains-trait detection more robust

3 years agoMerge pull request #54 from TheBlueMatt/main
Matt Corallo [Thu, 4 Nov 2021 06:07:54 +0000 (06:07 +0000)]
Merge pull request #54 from TheBlueMatt/main

v0.0.103.0

3 years agoUpdate Github Actions branch reference to 0.0.103
Matt Corallo [Wed, 3 Nov 2021 20:18:44 +0000 (20:18 +0000)]
Update Github Actions branch reference to 0.0.103

3 years agoAdd support for InvoicePayer to ChannelManagerConstructor and test
Matt Corallo [Tue, 2 Nov 2021 17:51:11 +0000 (17:51 +0000)]
Add support for InvoicePayer to ChannelManagerConstructor and test

Note that this adds an additional bit of runs in the
HumanObjectPeerTest, bringing leaks for a full run to:
    149 allocations remained for 1157302 bytes.

3 years agoUpdate tests for latest upstream API
Matt Corallo [Tue, 2 Nov 2021 15:30:34 +0000 (15:30 +0000)]
Update tests for latest upstream API

Leaks in a full test run is now
    89 allocations remained for 1138102 bytes.

3 years agoUpdate auto-generated bindings to 0.0.103
Matt Corallo [Tue, 2 Nov 2021 20:22:09 +0000 (20:22 +0000)]
Update auto-generated bindings to 0.0.103

3 years agoSupport passing trait instance references from C to Java without clone or double...
Matt Corallo [Tue, 2 Nov 2021 20:15:49 +0000 (20:15 +0000)]
Support passing trait instance references from C to Java without clone or double-free

3 years agoSupport nullable for opaque objects as well as traits and some arrays
Matt Corallo [Tue, 2 Nov 2021 20:43:14 +0000 (20:43 +0000)]
Support nullable for opaque objects as well as traits and some arrays

3 years agoTreat pointers up to 4096 as null, matching our test values in ldk-c-bindings
Matt Corallo [Tue, 2 Nov 2021 20:41:50 +0000 (20:41 +0000)]
Treat pointers up to 4096 as null, matching our test values in ldk-c-bindings

3 years agoFix race condition in NioPeerHandler on `socket_disconnected`
Matt Corallo [Wed, 3 Nov 2021 21:10:12 +0000 (21:10 +0000)]
Fix race condition in NioPeerHandler on `socket_disconnected`

3 years agoUse gitweb's snapshots to fetch binaries for comparison, not git
Matt Corallo [Tue, 19 Oct 2021 18:28:38 +0000 (18:28 +0000)]
Use gitweb's snapshots to fetch binaries for comparison, not git

3 years agoUpdate auto-generate bindings (incl new RL clone methods)
Matt Corallo [Tue, 19 Oct 2021 06:29:30 +0000 (06:29 +0000)]
Update auto-generate bindings (incl new RL clone methods)

3 years agoDon't allocate a buffer to return a reference to a tuple element
Matt Corallo [Tue, 19 Oct 2021 06:24:54 +0000 (06:24 +0000)]
Don't allocate a buffer to return a reference to a tuple element

If we're returning a reference to an object because we don't have a
clone function available, we'll set the reference flag implying no
free'ing will occur. In that case, we don't need to allocate a
buffer to copy the object's memory, we might as well just return a
pointer to the original.

After this commit, test leaks are:
    73 allocations remained for 1137376 bytes.

3 years agoRemove (broken) duplicative tuple constructor
Matt Corallo [Tue, 19 Oct 2021 05:48:41 +0000 (05:48 +0000)]
Remove (broken) duplicative tuple constructor

3 years agoAdd basic use-after-free checking in limited places.
Matt Corallo [Tue, 19 Oct 2021 05:23:04 +0000 (05:23 +0000)]
Add basic use-after-free checking in limited places.

Sadly this appears to have exposed some missing allocation wraps,
which prevents us from applying this in more locations.

3 years agoDrop requires_clone ret_conv cloning in complex enums
Matt Corallo [Tue, 19 Oct 2021 04:03:39 +0000 (04:03 +0000)]
Drop requires_clone ret_conv cloning in complex enums

requires_clone is supposed to be aboug arg_conv, not ret_conv so
its mis-labeled anyway. Somewhat unclear exactly what this was for.

Memory leaks are reduced to:
    169 allocations remained for 1141984 bytes.

3 years agoMerge pull request #50 from TheBlueMatt/main v0.0.102.0
Matt Corallo [Tue, 19 Oct 2021 01:49:57 +0000 (01:49 +0000)]
Merge pull request #50 from TheBlueMatt/main

v0.0.102.0

3 years agoUse lld to link on OSX with LLVM 13
Matt Corallo [Mon, 18 Oct 2021 21:40:23 +0000 (21:40 +0000)]
Use lld to link on OSX with LLVM 13

3 years agoUpdate auto-generated bindings to 0.0.102
Matt Corallo [Mon, 18 Oct 2021 21:08:44 +0000 (21:08 +0000)]
Update auto-generated bindings to 0.0.102

3 years agoBump OSX clang/LLVM to 13.0.0
Matt Corallo [Mon, 18 Oct 2021 21:04:55 +0000 (21:04 +0000)]
Bump OSX clang/LLVM to 13.0.0

3 years agoUpdate CI C-Bindings dependency to 0.0.102
Matt Corallo [Mon, 18 Oct 2021 20:56:56 +0000 (20:56 +0000)]
Update CI C-Bindings dependency to 0.0.102

3 years agoUpdate tests to upstream 0.0.102 API
Matt Corallo [Sun, 17 Oct 2021 01:22:34 +0000 (01:22 +0000)]
Update tests to upstream 0.0.102 API

3 years agoMerge pull request #49 from TheBlueMatt/main v0.0.101.3
Matt Corallo [Sun, 10 Oct 2021 04:49:45 +0000 (04:49 +0000)]
Merge pull request #49 from TheBlueMatt/main

v0.0.101.3

3 years agoUpdate maven to 3.8.3 (since apparently they yank old binaries?!)
Matt Corallo [Sun, 10 Oct 2021 02:51:17 +0000 (02:51 +0000)]
Update maven to 3.8.3 (since apparently they yank old binaries?!)

3 years agoUpdate auto-generated bindings
Matt Corallo [Sun, 10 Oct 2021 00:53:57 +0000 (00:53 +0000)]
Update auto-generated bindings

3 years agoUpdate android API version to 24 (Nougat) as we need it for streams
Matt Corallo [Sun, 10 Oct 2021 01:40:35 +0000 (01:40 +0000)]
Update android API version to 24 (Nougat) as we need it for streams

3 years agoCorrectly handle top-bit-set pointers, fixing Android 11
Matt Corallo [Sat, 9 Oct 2021 23:28:00 +0000 (23:28 +0000)]
Correctly handle top-bit-set pointers, fixing Android 11

3 years agoAggressively avoid object creation during message read handling
Matt Corallo [Thu, 7 Oct 2021 02:54:42 +0000 (02:54 +0000)]
Aggressively avoid object creation during message read handling

3 years ago[NioPeerHandler] Un-set Read interest when we fail to write fully
Matt Corallo [Sun, 3 Oct 2021 21:42:31 +0000 (21:42 +0000)]
[NioPeerHandler] Un-set Read interest when we fail to write fully

...as required by the SocketDescriptor.send_data API docs

3 years agoMerge pull request #47 from TheBlueMatt/main
Matt Corallo [Tue, 28 Sep 2021 06:53:18 +0000 (06:53 +0000)]
Merge pull request #47 from TheBlueMatt/main

v0.0.101.2

3 years agoEnsure listening sockets are closed to work around OSX breaking
Matt Corallo [Tue, 28 Sep 2021 04:46:02 +0000 (04:46 +0000)]
Ensure listening sockets are closed to work around OSX breaking

3 years agoTry new paths for Android NDK library search
Matt Corallo [Tue, 28 Sep 2021 01:29:18 +0000 (01:29 +0000)]
Try new paths for Android NDK library search

I'm not sure where these paths came from to begin with, but [1]
seems to indicate they're wrong, so let's try new ones.

[1] https://developer.android.com/ndk/guides/abis#sa

3 years agoDrop accidentally checked-in class file and update .gitignore
Matt Corallo [Tue, 28 Sep 2021 01:24:42 +0000 (01:24 +0000)]
Drop accidentally checked-in class file and update .gitignore

3 years agoUpdate auto-generated bindings
Matt Corallo [Tue, 28 Sep 2021 01:23:02 +0000 (01:23 +0000)]
Update auto-generated bindings

3 years agoSkip object reference adding when cloning within the FFI on to-Rust object passing
Matt Corallo [Tue, 28 Sep 2021 01:19:22 +0000 (01:19 +0000)]
Skip object reference adding when cloning within the FFI on to-Rust object passing

3 years agoCorrect and use ChannelManagerConstructor in HumanObjectPeerTest
Matt Corallo [Mon, 27 Sep 2021 23:31:55 +0000 (23:31 +0000)]
Correct and use ChannelManagerConstructor in HumanObjectPeerTest

When ChannelManagerConstructor support was added, the test loop
bounds were never updated to actually test it. This corrects that
(and a few regressions that snuck in over time).

Memory leaks during tests are now:
    249 allocations remained for 1146062 bytes.

3 years agoMerge pull request #46 from TheBlueMatt/main v0.0.101.1
Matt Corallo [Mon, 27 Sep 2021 06:27:06 +0000 (06:27 +0000)]
Merge pull request #46 from TheBlueMatt/main

v0.0.101.1

3 years agoExpand HumanObjectPeerTest to cover get_claimable_balances
Matt Corallo [Mon, 27 Sep 2021 00:34:32 +0000 (00:34 +0000)]
Expand HumanObjectPeerTest to cover get_claimable_balances

Memory leaks during tests are unchanged

3 years agoUpdate auto-generated bindings
Matt Corallo [Mon, 27 Sep 2021 00:20:44 +0000 (00:20 +0000)]
Update auto-generated bindings

Memory leaks during tests are now:
    193 allocations remained for 1136846 bytes.

3 years agoUpdate batteries to new Tuple-mapping API
Matt Corallo [Mon, 27 Sep 2021 00:10:49 +0000 (00:10 +0000)]
Update batteries to new Tuple-mapping API

3 years agoUpdate tests to new Tuple mapping API
Matt Corallo [Mon, 27 Sep 2021 00:10:31 +0000 (00:10 +0000)]
Update tests to new Tuple mapping API

3 years agoRedo tuple mapping to be explicit and not generic
Matt Corallo [Mon, 27 Sep 2021 00:05:18 +0000 (00:05 +0000)]
Redo tuple mapping to be explicit and not generic

This was suggested by Galder as more Java-y, but also fixes
a number of memory leaks by avoiding the complexity of
always holding references and letting the common code do
more work.

3 years agoFix exception catch in native library load failure to catch NPE
Matt Corallo [Sun, 26 Sep 2021 17:12:02 +0000 (17:12 +0000)]
Fix exception catch in native library load failure to catch NPE

3 years agoUse current HEAD for version in CI instead of previous commit
Matt Corallo [Sun, 26 Sep 2021 04:55:28 +0000 (04:55 +0000)]
Use current HEAD for version in CI instead of previous commit

3 years agoMove version information out of git into new files
Matt Corallo [Sun, 26 Sep 2021 04:53:04 +0000 (04:53 +0000)]
Move version information out of git into new files

3 years agoMerge pull request #45 from TheBlueMatt/main
Matt Corallo [Sat, 25 Sep 2021 22:48:11 +0000 (22:48 +0000)]
Merge pull request #45 from TheBlueMatt/main

Various fixes + cut 0.0.101

3 years agoUpdate auto-generated bindings to 0.0.101
Matt Corallo [Fri, 24 Sep 2021 03:14:18 +0000 (03:14 +0000)]
Update auto-generated bindings to 0.0.101

3 years agoFix CI failures due to faketime breaking PKI time checks
Matt Corallo [Sat, 25 Sep 2021 05:29:10 +0000 (05:29 +0000)]
Fix CI failures due to faketime breaking PKI time checks

3 years agoUpdate CI branch refernces to 0.0.101
Matt Corallo [Fri, 24 Sep 2021 22:25:28 +0000 (22:25 +0000)]
Update CI branch refernces to 0.0.101

3 years agoSpecify maven plugin versions to avoid inconsistent jars
Matt Corallo [Sat, 25 Sep 2021 06:32:07 +0000 (06:32 +0000)]
Specify maven plugin versions to avoid inconsistent jars

3 years agoExpand test coverage in HumanObjectPeerTest to hit new API features
Matt Corallo [Fri, 24 Sep 2021 19:02:14 +0000 (19:02 +0000)]
Expand test coverage in HumanObjectPeerTest to hit new API features

Leak count is now:
    507 allocations remained for 1163454 bytes.

3 years agoUpdate batteries and tests to latest upstream API
Matt Corallo [Fri, 24 Sep 2021 17:53:23 +0000 (17:53 +0000)]
Update batteries and tests to latest upstream API

With the upstream v0.0.101, memory leaks during tests are now:
    411 allocations remained for 1156930 bytes.

3 years agoDrop reallocarray wrapper, enforcing that we don't need it
Matt Corallo [Fri, 24 Sep 2021 22:01:34 +0000 (22:01 +0000)]
Drop reallocarray wrapper, enforcing that we don't need it

3 years agoSwap java locks to pthread to avoid relying on newer GLIBC versions
Matt Corallo [Fri, 24 Sep 2021 21:59:30 +0000 (21:59 +0000)]
Swap java locks to pthread to avoid relying on newer GLIBC versions

3 years agoAdd a build mode for "release optimizations with leaks checks", handle a jar in CI
Matt Corallo [Fri, 24 Sep 2021 21:41:08 +0000 (21:41 +0000)]
Add a build mode for "release optimizations with leaks checks", handle a jar in CI

3 years agoImplement partial clones when passing complex enums containing traits
Matt Corallo [Fri, 24 Sep 2021 17:44:45 +0000 (17:44 +0000)]
Implement partial clones when passing complex enums containing traits

3 years agoAdd missing clone when passing a complex enum to Java
Matt Corallo [Fri, 24 Sep 2021 17:44:24 +0000 (17:44 +0000)]
Add missing clone when passing a complex enum to Java

3 years agoExpand the criteria for cloning when passing to Rust
Matt Corallo [Fri, 24 Sep 2021 17:36:56 +0000 (17:36 +0000)]
Expand the criteria for cloning when passing to Rust

If a method takes an object by ownership, we always need to clone.

3 years agoRemap non-clonable move-passed optional fn args into Option<&Type>
Matt Corallo [Fri, 24 Sep 2021 02:05:03 +0000 (02:05 +0000)]
Remap non-clonable move-passed optional fn args into Option<&Type>

This may break in the future, so we print a huge warning.

3 years agoFix calling Java/TS methods that return strings
Matt Corallo [Thu, 23 Sep 2021 22:41:47 +0000 (22:41 +0000)]
Fix calling Java/TS methods that return strings

3 years agoFix conflicting overuse of "ret" as a variable name
Matt Corallo [Thu, 23 Sep 2021 22:40:47 +0000 (22:40 +0000)]
Fix conflicting overuse of "ret" as a variable name

3 years agoPrint error information when we fail to load LDK native library
Matt Corallo [Mon, 20 Sep 2021 17:34:42 +0000 (17:34 +0000)]
Print error information when we fail to load LDK native library

3 years agoCorrectly handle reference tracking for array elements, construct multi-dimentional...
Matt Corallo [Sat, 4 Sep 2021 22:07:12 +0000 (22:07 +0000)]
Correctly handle reference tracking for array elements, construct multi-dimentional arrays

3 years agoRename ChannelManagerConstructor.ChannelManagerPersister to EventHandler
Matt Corallo [Sat, 4 Sep 2021 20:39:32 +0000 (20:39 +0000)]
Rename ChannelManagerConstructor.ChannelManagerPersister to EventHandler

ChannelManagerPersister is a bit of a misnomer for the struct which
now handles events as well. Thus, we rename it to focus on the
event-handling function here.

3 years agoDrop dup PeerManager tiemr_tick_occurred calls from NioPeerHandler
Matt Corallo [Sat, 4 Sep 2021 19:46:46 +0000 (19:46 +0000)]
Drop dup PeerManager tiemr_tick_occurred calls from NioPeerHandler

We call PeerManager's timer_tick_occurred in the
lightning-background-processor crate, initialized from the
ChannelManagerConstructor. Prior to the use of the
lightning-background-processor we'd needed to call PeerManager's
timer_tick_occurred from NioPeerHandler, but we never dropped it
after the switch. Thus, every ~30 seconds we'll call
PeerManager::timer_tick_occurred twice in a row, disconnecting all
of our peers.

3 years agoMerge pull request #42 from TheBlueMatt/main
Matt Corallo [Wed, 25 Aug 2021 22:42:56 +0000 (22:42 +0000)]
Merge pull request #42 from TheBlueMatt/main

Cut 0.0.100.2 which should be uploadable to Maven Central

3 years agoBump version to 0.0.100.2
Matt Corallo [Wed, 25 Aug 2021 03:39:51 +0000 (03:39 +0000)]
Bump version to 0.0.100.2

3 years agoSkip javadoc generation on OSX since its broken v0.0.100.2
Matt Corallo [Wed, 25 Aug 2021 06:05:00 +0000 (06:05 +0000)]
Skip javadoc generation on OSX since its broken

3 years agoUpdate pom.xml to comply with Maven Central requirements
Matt Corallo [Wed, 25 Aug 2021 00:23:17 +0000 (00:23 +0000)]
Update pom.xml to comply with Maven Central requirements

3 years agoMerge pull request #40 from TheBlueMatt/main
Matt Corallo [Sun, 22 Aug 2021 04:53:16 +0000 (04:53 +0000)]
Merge pull request #40 from TheBlueMatt/main

v0.0.100.1

3 years agoUpdate autogenerated bindings to new version
Matt Corallo [Fri, 20 Aug 2021 20:38:36 +0000 (20:38 +0000)]
Update autogenerated bindings to new version

3 years agoTest use of IgnoringMessageHandler with ChannelManagerConstructor
Matt Corallo [Wed, 18 Aug 2021 22:45:34 +0000 (22:45 +0000)]
Test use of IgnoringMessageHandler with ChannelManagerConstructor

3 years agoMerge pull request #39 from TheBlueMatt/main
Matt Corallo [Wed, 18 Aug 2021 04:50:17 +0000 (04:50 +0000)]
Merge pull request #39 from TheBlueMatt/main

v0.0.100.0

3 years agoUpdate auto-generated files
Matt Corallo [Tue, 17 Aug 2021 22:31:53 +0000 (22:31 +0000)]
Update auto-generated files

3 years agoSwitch to the 0.0.100 branch on ldk-c-bindings v0.0.100.0
Matt Corallo [Wed, 18 Aug 2021 00:18:27 +0000 (00:18 +0000)]
Switch to the 0.0.100 branch on ldk-c-bindings

3 years agoUpdate tests to latest upstream master
Matt Corallo [Fri, 6 Aug 2021 19:09:10 +0000 (19:09 +0000)]
Update tests to latest upstream master

3 years agoCorrect Rust -> Java method call semantics to avoid double-conversion
Matt Corallo [Tue, 17 Aug 2021 22:18:46 +0000 (22:18 +0000)]
Correct Rust -> Java method call semantics to avoid double-conversion

3 years agoFix cloning trait structs via native clone method
Matt Corallo [Tue, 17 Aug 2021 22:15:55 +0000 (22:15 +0000)]
Fix cloning trait structs via native clone method

When cloning a trait struct, we need to reference the
already-converted-to-struct value, not the original, integer,
value.

3 years agoMerge pull request #33 from TheBlueMatt/main
Matt Corallo [Mon, 9 Aug 2021 15:34:19 +0000 (15:34 +0000)]
Merge pull request #33 from TheBlueMatt/main

Expose supertrait implemetations to the Java API

3 years agoUpdate auto-generated bindings to latest upstream
Matt Corallo [Sat, 7 Aug 2021 22:34:45 +0000 (22:34 +0000)]
Update auto-generated bindings to latest upstream

Note that the inclusion of enum constructor functions fixes #30.

3 years agoDrop fail-fast in CI to run jobs even after another fails v0.0.99.2
Matt Corallo [Mon, 9 Aug 2021 14:34:55 +0000 (14:34 +0000)]
Drop fail-fast in CI to run jobs even after another fails

3 years agoMove release jar comparisons to run before functional tests in CI
Matt Corallo [Mon, 9 Aug 2021 04:58:52 +0000 (04:58 +0000)]
Move release jar comparisons to run before functional tests in CI

3 years agoAutomatically run diffoscope on changed compressed files in CI
Matt Corallo [Sun, 8 Aug 2021 23:24:48 +0000 (23:24 +0000)]
Automatically run diffoscope on changed compressed files in CI

3 years agoUse the 0.0.99 branch of ldk-c-bindings in CI
Matt Corallo [Sat, 7 Aug 2021 22:03:13 +0000 (22:03 +0000)]
Use the 0.0.99 branch of ldk-c-bindings in CI

3 years agoUse explicit paths for function arguments in Java
Matt Corallo [Sat, 7 Aug 2021 22:24:22 +0000 (22:24 +0000)]
Use explicit paths for function arguments in Java

When we have an enum with a variant named the same as a struct we
need to specify a full concrete path when referring to it. The
simplest approach is to just use full concrete paths for all
function arguments, which we do here.

3 years agoAdd an accessor to UInt5 to get the value and correct conversion
Matt Corallo [Sat, 7 Aug 2021 17:57:02 +0000 (17:57 +0000)]
Add an accessor to UInt5 to get the value and correct conversion

3 years agoTest function returning Option::None returns null to Java
Matt Corallo [Fri, 6 Aug 2021 18:52:57 +0000 (18:52 +0000)]
Test function returning Option::None returns null to Java

3 years agoUse new TxOut constructor in tests
Matt Corallo [Fri, 6 Aug 2021 18:48:17 +0000 (18:48 +0000)]
Use new TxOut constructor in tests

3 years agoAdd constructors and expose fields in TxOut
Matt Corallo [Fri, 6 Aug 2021 18:46:48 +0000 (18:46 +0000)]
Add constructors and expose fields in TxOut

Fixes #34.

3 years agoAdd a simple wrapper for `disconnect_by_node_id` in `NioPeerHandler`
Matt Corallo [Fri, 6 Aug 2021 17:40:09 +0000 (17:40 +0000)]
Add a simple wrapper for `disconnect_by_node_id` in `NioPeerHandler`

Fixes #36.

3 years agoAdd docs for and mark nullable complex enum fields
Matt Corallo [Fri, 6 Aug 2021 17:10:51 +0000 (17:10 +0000)]
Add docs for and mark nullable complex enum fields

3 years agoCorrectly handle passing a null to Rust for an array
Matt Corallo [Fri, 6 Aug 2021 17:10:19 +0000 (17:10 +0000)]
Correctly handle passing a null to Rust for an array

3 years agoMark function arguments and return values Nullable if relevant
Matt Corallo [Fri, 6 Aug 2021 17:09:55 +0000 (17:09 +0000)]
Mark function arguments and return values Nullable if relevant

Fixes #35.

3 years agoCorrectly handle null pointers returned from Rust representing None
Matt Corallo [Thu, 5 Aug 2021 03:18:28 +0000 (03:18 +0000)]
Correctly handle null pointers returned from Rust representing None

Fixes the SEGFAULT in #35.