summaryrefslogtreecommitdiff
path: root/tor-proto/src/channel.rs
Commit message (Collapse)AuthorAgeFilesLines
* Misc tests in tor-proto.Nick Mathewson2021-06-191-5/+18
|
* Implement Debug for ClientCirc and Channel.Nick Mathewson2021-06-141-0/+11
|
* Use the "typos" tool to fix some spellingNick Mathewson2021-05-261-1/+1
|
* Add the "unreachable_pub" lint.Nick Mathewson2021-05-181-1/+1
| | | | | | This is a somewhat obnoxious change in its scope and requirements, but it makes it easier to understand what the real public and private parts of our APIs are.
* Check "connection" usage for when stream or channel would be better.Nick Mathewson2021-05-181-1/+1
|
* Prefer "relay" over "node" in most circumstances.Nick Mathewson2021-05-181-1/+1
|
* Refactor and simplify ChanMgr to use AbstractChanMgr.Nick Mathewson2021-04-231-0/+5
|
* Fix a rust 1.51 warning: remove a semicolonNick Mathewson2021-04-021-1/+1
|
* Rename Rsa{Identity,Signature} to fix clippy warning.Nick Mathewson2021-03-291-5/+5
|
* Check for channel match in create_firsthop_ntor().Nick Mathewson2021-03-241-2/+2
| | | | | | This way we won't even try sending the CREATE2 cell unless the Ed25519 identity we know for the channel matches the provided CircTarget.
* Test for Channel::check_matchNick Mathewson2021-03-161-0/+39
|
* Migrate from futures_codec to asynchronous_codec.Nick Mathewson2021-01-151-0/+1
| | | | | | | | asynchronous_codec is a fork of futures_codec that is up-to-date on its dependencies. This migration allows us to upgrade to the current version of the bytes crate.
* Fix some clippy warnings from nightly.Nick Mathewson2021-01-021-2/+5
|
* Fix some rustdoc warnings.Nick Mathewson2020-12-091-1/+1
|
* Expose UniqId types for channels and circuitsNick Mathewson2020-12-011-2/+7
|
* Rename LogId -> UniqId.Nick Mathewson2020-12-011-18/+18
|
* Refactor first-hop handling types a bitNick Mathewson2020-11-171-1/+1
| | | | | | This lets us have the notion of "get the first hop of a path as some kind of a chantarget", which will make it easier to write other path types.
* Light refactoring on remaining ChannelImpl functionsNick Mathewson2020-11-131-22/+21
|
* Turn the channel "closed" method into an AtomicBoolNick Mathewson2020-11-131-19/+21
| | | | This lets us make the test for closed channels non-async.
* Move a few immutable fields from ChannelImpl outside the lock.Nick Mathewson2020-11-131-30/+25
| | | | | Since these don't change while the channel is alive, we don't need the lock to protect them.
* Make the Arc-ness of channels more explicit.Nick Mathewson2020-11-121-25/+13
| | | | | | Previously every channel was a secret Arc<>, which I think is bad style, and which stopped us from using weak references in other places.
* Tests for tor-chanmgr.Nick Mathewson2020-10-301-0/+6
|
* chanmgr: don't return closing channels.Nick Mathewson2020-10-301-0/+7
|
* Implement a channel-manager type to get or launch channels on request.Nick Mathewson2020-10-301-1/+1
|
* Function to check whether a channel matches a target.Nick Mathewson2020-10-291-2/+27
|
* tor-proto API: Use new_ref, not clone.Nick Mathewson2020-10-291-9/+8
| | | | | | Semantically, cloning a Channel or Circuit is actually increasing an internal reference count. We should name the functions to reflect that, to be more explicit about what we're doing.
* Make a test for create_firsthop_fast. WOW that was hard.Nick Mathewson2020-10-271-2/+5
|
* Add a fake, reactorless channel, for use in testing circuitsNick Mathewson2020-10-271-0/+44
|
* Remove use of Cell<> in tor_proto.Nick Mathewson2020-10-271-5/+4
| | | | I was confused about what this was for, I guess.
* Rename CircIDRange to CircIdRangeNick Mathewson2020-10-271-2/+2
|
* Improve documentation in tor-protoNick Mathewson2020-10-261-17/+47
|
* rudimentary test for channelbuilder.Nick Mathewson2020-10-261-1/+10
|
* Tests for sending bad/good cell types on a channelNick Mathewson2020-10-261-2/+39
|
* Rename CircID and StreamID to end with Id instead, for consistencyNick Mathewson2020-10-251-4/+4
|
* channel: Refactor the point when we split the framed codec.Nick Mathewson2020-10-251-8/+13
| | | | | | We used to do this during creating the channel in Channel::new, but now we do it one step before, so that it's easier to construct channels for testing.
* Move cell logging into ChannelImplNick Mathewson2020-10-231-12/+11
|
* Add new `terminate()` method to circuits and channels.Nick Mathewson2020-10-201-3/+26
| | | | | | | | These aren't called "close" because they're more destructive than that: they can be called even if other parties are using the circuit or channel. This is for arti#21.
* Missing file and docsNick Mathewson2020-10-201-0/+6
|
* Add some helpful logs in circuit code.Nick Mathewson2020-10-201-3/+10
|
* Add reasonable logging (I hope!) to channelNick Mathewson2020-10-201-18/+79
|
* tor-proto: Add a "CreateResponse" type.Nick Mathewson2020-10-151-1/+2
| | | | | | CreateResponse includes exactly those cells that are a correct response to a CREATE2/CREATE_FAST, so we can be sure that only those cells are actually passed to a PendingClientCirc.
* Turn the channel's ref to its circmap into a Weak referenceNick Mathewson2020-10-151-6/+11
| | | | | This way, when the channel reactor is dropped, the circuit map can get dropped too, which will cause reading circuits to notice.
* Mark channels as unusable if reactor gets an error.Nick Mathewson2020-10-151-1/+10
| | | | | Similarly as with circuits, we want this code to set a "closed" flag so that attempts to write on the channel will fail.
* Send DESTROY cells when a circuit is dropped.Nick Mathewson2020-10-141-14/+59
| | | | | | | | | This reuses a lot of mechanism from the circuit code that sends END cells when streams are dropped. There is a problem here: Circuits and channels won't actually get dropped, because we should be using a weak reference from the reactor.
* Document all private members in tor-protoNick Mathewson2020-10-131-2/+3
|
* Rename remaining get_ accessorsNick Mathewson2020-09-281-8/+4
|
* Split the cell-handling parts of tor-proto into a new crate.Nick Mathewson2020-09-261-3/+4
|
* Lower our "#[allow(dead_code)]" decl in tor_proto."Nick Mathewson2020-09-251-0/+1
|
* More documentation for channel, circuit, stream.Nick Mathewson2020-09-211-11/+45
|
* Start implementing streams and circuit-level reactors.Nick Mathewson2020-09-211-6/+15
| | | | | | Also, revise nearly all of the circuit/channel interaction to actually send relay cells to the right place and do sensible things with them.