<feed xmlns='http://www.w3.org/2005/Atom'>
<title>mirrors/arti.git/crates/arti-rpcserver, branch arti-v1.1.4</title>
<subtitle>mirror of https://gitlab.torproject.org/tpo/core/arti
</subtitle>
<id>http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.4</id>
<link rel='self' href='http://git.dilluti0n.com/mirrors/arti.git/atom?h=arti-v1.1.4'/>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/'/>
<updated>2023-05-03T12:31:11Z</updated>
<entry>
<title>Increment crate versions.</title>
<updated>2023-05-03T12:31:11Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-05-03T12:31:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=1904cfc8b9ca5dd0974dc39516a58a57226f123f'/>
<id>urn:sha1:1904cfc8b9ca5dd0974dc39516a58a57226f123f</id>
<content type='text'>
Because of the errorkind bumps, we're calling this a breaking change
in everything lower-level than `arti`.

Generated with:
```
cargo set-version -p tor-basic-utils --bump minor
cargo set-version -p tor-async-utils --bump minor
cargo set-version -p caret --bump minor
cargo set-version -p fs-mistrust --bump minor
cargo set-version -p safelog --bump minor
cargo set-version -p retry-error --bump minor
cargo set-version -p tor-error --bump minor
cargo set-version -p tor-config --bump minor
cargo set-version -p tor-events --bump minor
cargo set-version -p tor-units --bump minor
cargo set-version -p tor-rtcompat --bump minor
cargo set-version -p tor-rtmock --bump minor
cargo set-version -p tor-rpcbase --bump minor
cargo set-version -p tor-llcrypto --bump minor
cargo set-version -p tor-protover --bump minor
cargo set-version -p tor-bytes --bump minor
cargo set-version -p tor-hscrypto --bump minor
cargo set-version -p tor-socksproto --bump minor
cargo set-version -p tor-checkable --bump minor
cargo set-version -p tor-cert --bump minor
cargo set-version -p tor-linkspec --bump minor
cargo set-version -p tor-cell --bump minor
cargo set-version -p tor-proto --bump minor
cargo set-version -p tor-netdoc --bump minor
cargo set-version -p tor-consdiff --bump minor
cargo set-version -p tor-netdir --bump minor
cargo set-version -p tor-congestion --bump minor
cargo set-version -p tor-persist --bump minor
cargo set-version -p tor-chanmgr --bump minor
cargo set-version -p tor-ptmgr --bump minor
cargo set-version -p tor-guardmgr --bump minor
cargo set-version -p tor-circmgr --bump minor
cargo set-version -p tor-dirclient --bump minor
cargo set-version -p tor-dirmgr --bump minor
cargo set-version -p tor-hsclient --bump minor
cargo set-version -p tor-hsservice --bump minor
cargo set-version -p arti-client --bump minor
cargo set-version -p arti-rpcserver --bump minor
cargo set-version -p arti-config --bump minor
cargo set-version -p arti-hyper --bump minor

cargo set-version -p arti --bump patch
cargo set-version -p arti-bench --bump patch
cargo set-version -p arti-testing --bump patch
```
</content>
</entry>
<entry>
<title>RPC: Log all internal errors.</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-19T16:35:49Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7c1f45a514c0c6f5579be939151a3f75db62d731'/>
<id>urn:sha1:7c1f45a514c0c6f5579be939151a3f75db62d731</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Arti: Add ability to remember the list of methods names.</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-18T22:43:16Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=accd3d858f9812eba326306014a9543590d93dad'/>
<id>urn:sha1:accd3d858f9812eba326306014a9543590d93dad</id>
<content type='text'>
Right now, this lets us say whether the method was unrecognized or
whether the parameter type was incorrect.

We'll use this to enforce correct method names later on.

(I have to add another `inventory` here, since the `typetag`
maintainer does not want to expose this functionality: see
https://github.com/dtolnay/typetag/issues/57#issuecomment-1506106290
)
</content>
</entry>
<entry>
<title>rpcserver: Use with_fn.</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-18T19:55:08Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=f33aefd76c42165302ab0093d207b8e57ca0192f'/>
<id>urn:sha1:f33aefd76c42165302ab0093d207b8e57ca0192f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rpc: Use Method types to determine type of method outputs, updates.</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-18T17:53:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=0503f7bd4bd420df0b06cf9ccdd0b800646108bd'/>
<id>urn:sha1:0503f7bd4bd420df0b06cf9ccdd0b800646108bd</id>
<content type='text'>
This lets us do much less in our rpc_invoke_fn functions.
</content>
</entry>
<entry>
<title>rpc: Split Method into DynMethod and Method</title>
<updated>2023-04-19T16:38:26Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-18T17:04:28Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=7dcfb02c2201c29cb3237f5921a4130e6fcd567a'/>
<id>urn:sha1:7dcfb02c2201c29cb3237f5921a4130e6fcd567a</id>
<content type='text'>
Now `Method` has an Output and Update associated type, and
`decl_method` can do a little more.
</content>
</entry>
<entry>
<title>Merge branch 'rpc_refactoring_v2' into 'main'</title>
<updated>2023-04-18T16:00:05Z</updated>
<author>
<name>Ian Jackson</name>
<email>iwj@torproject.org</email>
</author>
<published>2023-04-18T16:00:05Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=219153a541a4a6d237f54114d604ca70896047fe'/>
<id>urn:sha1:219153a541a4a6d237f54114d604ca70896047fe</id>
<content type='text'>
A few RPC refactorings

Closes #817 and #824

See merge request tpo/core/arti!1144</content>
</entry>
<entry>
<title>rpc: simplify API by always providing a sink.</title>
<updated>2023-04-16T12:46:42Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-14T16:35:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=5a2c38a1347d0508c59b81ec34732c1ed8fefddd'/>
<id>urn:sha1:5a2c38a1347d0508c59b81ec34732c1ed8fefddd</id>
<content type='text'>
Previously we have two places where we had to do "make a `Drain` sink
if updates aren't wanted"; now there's only one.
</content>
</entry>
<entry>
<title>rpc: Ensure well-ordering of responses.</title>
<updated>2023-04-16T12:46:42Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-14T14:05:56Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=83f5dc48884b66be4c1213f02e403807325cd770'/>
<id>urn:sha1:83f5dc48884b66be4c1213f02e403807325cd770</id>
<content type='text'>
Previously the main loop received updates via a `mpsc::channel`, and
final responses via a `futures::unordered`.  This could lead to
final responses being transmitted to the user before the updates
were all flushed.

Now all of the responses are sent to the main loop via the same channel,
and they can't get out-of-sequence.

Closes #817 and (IMO) simplifies the code a bit.
</content>
</entry>
<entry>
<title>rpc: Move update sink out of context.</title>
<updated>2023-04-16T12:46:41Z</updated>
<author>
<name>Nick Mathewson</name>
<email>nickm@torproject.org</email>
</author>
<published>2023-04-13T18:14:17Z</published>
<link rel='alternate' type='text/html' href='http://git.dilluti0n.com/mirrors/arti.git/commit/?id=3b9fc607637e80bc16876355fbdfa674ce8907f7'/>
<id>urn:sha1:3b9fc607637e80bc16876355fbdfa674ce8907f7</id>
<content type='text'>
Now the update sink is its own boxed object.  It is not yet passed
to the invoke functions that want it.
</content>
</entry>
</feed>
