aboutsummaryrefslogtreecommitdiff
path: root/crates/arti-rpc-client-core/arti-rpc-client-core.h
Commit message (Collapse)AuthorAgeFilesLines
* rpc: re-run cbindben.Nick Mathewson2026-03-231-3/+3
|
* Run cbindgen to regenerate header file.Nick Mathewson2026-03-231-1/+229
|
* rpc-client: Run cbindgen to regenerate C header.Nick Mathewson2026-03-161-0/+20
|
* Upgrade to cbindgen 0.28.0Nick Mathewson2025-03-301-1/+1
|
* Merge branch 'rpc_document_internal_optimism' into 'main'Nick Mathewson2025-01-301-6/+0
|\ | | | | | | | | | | | | rpc: Document what is actually going on with stream optimism. Closes #1583 See merge request tpo/core/arti!2753
| * rpc: Correct API documentation about optimismNick Mathewson2025-01-301-6/+0
| | | | | | | | | | | | | | | | | | | | | | Our documentation had dated to an older version of our RPC stream code, where all streams were automatically optimistic. But as explained, our use of "optimistic"ness in RPC stream code is now purely internal, to make it possible to get an DataStreamCtrl. This isn't user-visible in our rpc_conn_open_stream code. Closes #1583
* | fix: fix typosDimitris Apostolou2025-01-301-1/+1
|/
* tweak cbindgen documentation.Nick Mathewson2025-01-291-3/+8
|
* rpclib: Update cbindgen documentation.Nick Mathewson2025-01-291-8/+45
|
* arti-rpc-client-core: Document that dropping a request does not cancel it.Nick Mathewson2025-01-221-2/+2
| | | | | | | I hope that this limitation is acceptable; the alternative involves some significant refactoring to give Request a Weak reference to RpcConn -- but RpcConn isn't currently kept in an Arc<> at all, and so we'd need some fairly heavy hacking.
* arti-rpc-client-core: Implement and expose cancellation.Nick Mathewson2025-01-221-0/+15
|
* Label our cbindgen output, to detect version incompatibility.Nick Mathewson2024-12-091-0/+1
| | | | | | | This will help us keep track of whether we are using the pinned-to version of cbindgen. Closes #1772.
* artilib: Revise C and Python APIs for builders.Nick Mathewson2024-12-091-18/+92
| | | | | | | | | | | | | | | Expose ArtiRpcConnBuilder and appropriate C wrapper functions in our FFI code, and wrap those functions in our python wrapper. This breaks the old C API, but that's allowed since the API is still experimental. Some design decisions: * I've wrapped the builder in a Mutex, so that we can continue our FFI rule that we do not require non-Rust code to wrap `&mut`. * I've removed the non-builder connect() function from the C API as extraneous. * I've made a single function to prepend elements to the search path.
* rpc-client-core: Correct various FFI error types.Nick Mathewson2024-12-091-0/+20
|
* rpclib: Rename RequestCancelled to be accurate.Nick Mathewson2024-10-211-4/+1
|
* rpclib: Note a key property of RPC error returns.Nick Mathewson2024-09-261-0/+3
|
* rpclib: Use prop351 protocol to open streams.Nick Mathewson2024-09-181-1/+3
| | | | | | | | | | | Now that prop351 is what Arti speaks, it's what the rpclib needs to provide. Note one change in particular: the `isolation` string is no longer an optional argument when opening a stream. (With prop351, there is no longer such a thing as an "absent" isolation string, and we don't want to imply that there is a difference between None and "".)
* rpclib: Rename "connect" to "open_stream" as appropriate.Nick Mathewson2024-09-101-11/+11
|
* Re-run cbindben for new warnings and status codesNick Mathewson2024-09-091-43/+14
|
* rpclib: FFI for opening data streams.Nick Mathewson2024-09-091-0/+128
| | | | | There's a blocking TODO here about exposing socks error codes that I still need to solve.
* Fix typosDimitris Apostolou2024-09-031-1/+1
|
* rpclib: Remove in_mut_ptr_opt, and document why.Nick Mathewson2024-08-271-5/+9
|
* ffi: Rename arti_rpc_status_to_str.Nick Mathewson2024-08-141-1/+1
| | | | | | (This function manipulates an ArtiRpcStatus; and we try to have all of the ffi functions in this library begin with "arti_rpc_".)
* cbindgen: Correctly hide "Utf8CString".Nick Mathewson2024-08-141-7/+1
|
* ffi: Add support for request handlesNick Mathewson2024-08-121-0/+105
| | | | | This API allows the caller to launch a request and then watch for updates on it.
* Re-run cbindgen; new version has changed whitespace.Nick Mathewson2024-08-121-3/+3
|
* Re-run cbindgen to update our generated header.Nick Mathewson2024-08-071-0/+28
| | | | (This is kind of thing that the CI script should remind us to do.)
* ffi: Re-run cbindgen.Nick Mathewson2024-07-311-22/+54
|
* rpclib: Suggestions from @diziet for improving safety docs.Nick Mathewson2024-07-311-7/+9
|
* rpclib ffi: Grand identifier renamingNick Mathewson2024-07-311-34/+44
| | | | In brief: Everything now starts with ARTI_RPC, arti_rpc, or ArtiRpc.
* rpclib: Revise/condense "safety" docs for C functionsNick Mathewson2024-07-311-49/+34
| | | | | | | | | | | | | | | These documents are no longer called "safety". They are now mostly collected as a big list of "correctness requirements" at the start of the cbindgen header. Because of these requirements, most functions no longer need their own "safety" sections. I am explicitly using `#[allow(clippy::missing_safety_doc)]` on each function, rather than adding a blanket exception: - There are other unsafe functions in this code, to which we wouldn't want an exception to apply. - Documenting the safety^W correctness requirements of a function is important enough to make sure that we aren't skipping out on it unintentionally.
* rpclib: Grand error refactoring: outparam, not thread-localNick Mathewson2024-07-311-42/+51
| | | | | | | | Per discussion, we'd rather have an optional output parameter for error objects rather than mess with thread-local variables. This is possibly less convenient for direct usage from C, but likely more convenient for wrapper functions in other languages.
* rpclib: _Sketch_ of string API.Nick Mathewson2024-07-311-4/+26
| | | | | | | | | | | | | In this API, borrowed strings are `const char *`, and owned strings are `ArtiRpcStr *`. You can get the former from the latter with `arti_rpc_str_get()`, which returns a `const char *` in hopes that you will neither modify nor free() that `const char *` (Note that there are no places where string ownership needs to be passed into this library; and at present, there is only one case where it is passed out. I do not anticipate that we will need to do intake of owned strings. We will probably need to return these in a few more cases as we add more API surface.)
* rpclib: Add "STATUS" to status codes.Nick Mathewson2024-07-311-10/+10
|
* rpc: Improve documentation and strings for FFI status codes.Nick Mathewson2024-07-311-1/+25
|
* rpclib: Tweaks from review to header documentation.Nick Mathewson2024-07-311-3/+6
|
* rpc ffi: Try a more reference-driven approach to pointer handling.Nick Mathewson2024-07-311-0/+2
|
* Add a script to run cbindgen and check its outputs.Nick Mathewson2024-07-311-0/+321
This is a bit complicated since: - Using cbindgen with macro expansion requires a nightly rust: so, we have to look for one. - There are some cbindgen warnings which I cannot find any way to suppress, so instead of giving all warnings, it seems better to give a diff from the old list of warnings to the new list.