52 lines
1.8 KiB
Plaintext
52 lines
1.8 KiB
Plaintext
import { Callout } from 'nextra/components'
|
||
|
||
# FFI Bindings
|
||
|
||
<Callout type="info" emoji="ℹ️">
|
||
We are only working on the intitial versions of the FFI code to allow developers to experiment and get feedback. Please get in touch if you think the FFI bindings are lacking certain functionality.
|
||
</Callout>
|
||
|
||
We currently have FFI bindings for Go and C/C++. See the table below to check the coverage of functionality we expect devs would like to see.
|
||
|
||
### Mixnet Module
|
||
This is the basic mixnet component of the SDK, exposing client functionality with which people can build custom interfaces with the Mixnet.
|
||
|
||
| Rust Function | Go | C/C++ |
|
||
| :----------------------------------------------- | :--: | ----: |
|
||
| `MixnetClient::connect_new()` | ✔️ | ✔️ |
|
||
| `MixnetClientBuilder::new_with_default_storage` | ✔️ | ✔️ |
|
||
| `MixnetClientBuilder::OTHERS` | | |
|
||
| `MixnetClientBuilder::OTHERS` | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
|
||
|
||
> We have also implemented `listen_for_incoming()` which is a wrapper around the Mixnet client's `wait_for_messages()` which is exposed to Go and C/C++. This is a helper method for listening out for and handling incoming messages.
|
||
|
||
### TcpProxy Module
|
||
A connection abstraction TODO LINK which exposes a local TCP socket which developers are able to interact with basically as expected, being able to read/write to/from a bytestream, without really having to take into account the workings of the Mixnet/Sphinx/the message-based TODO LINK format of the underlying client.
|
||
|
||
| Rust Function | Go | C/C++ |
|
||
| :----------------- | :--: | ----: |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
| | | |
|
||
|
||
|
||
----------------
|
||
for copypaste
|
||
❌ ✔️
|
||
----------------
|