Commit Graph
1324 Commits
Author SHA1 Message Date
Matthias Radestock fc22f9664e refactor: improve encapsulation of Forwarder 2015-03-29 12:14:32 +01:00
Matthias Radestock 07c11d87a8 oops
I broke this in 1eca5e1097
2015-03-29 12:11:59 +01:00
Matthias Radestock 4eda7e361b put back forwarder channel nil check
since otherwise forward(...) can block indefinitely due to both the
forwarder channel and finshed channel being nil
2015-03-29 10:36:01 +01:00
Matthias Radestock b6448fa196 more idiomatic closing of forwarders, by closing a 'finished' channel
The previous scheme set the reference to main channel to nil and then
drained it. That was racy and hence could lead to deadlock in the
following scenario:

1. multiple senders obtain the main channel from the stored reference
2. main channel reference is set to nil
3. main channel is drained
4. multiple senders send to main channel

So the issue here is that the entire forwarder stopping sequence
occurs between senders obtaining of the reference to the main channel,
and then sending on that channel. If more senders sent than there is
capacity in the channel then this leads to deadlock.
2015-03-28 20:58:42 +00:00
Matthias Radestock 4dbb3d97e0 cosmetic: remove dead code 2015-03-28 20:33:06 +00:00
Matthias Radestock 502b59c703 refactor: rename 2015-03-28 19:52:10 +00:00
Matthias Radestock 9a462f9d87 refactor: simplify NewNaClEncryptor
- rely on default nil values on initialisation
- inline
2015-03-28 19:49:01 +00:00
Matthias Radestock 9992992ee4 refactor: extract helper from NaClDecryptor.decrypt
for easier comprehension
2015-03-28 19:44:04 +00:00
rade 94cf05a897 Merge pull request #496 from dpw/router-cleanups
Router cleanups
2015-03-27 18:38:43 +00:00
David Wragg 78c70023d8 Don't pass the sender UDPAddr through the crypto layer
The crypto layer doesn't need it, and the cost of an additional
closure allocation for each incoming UDP packet is modest.

Also, make the FrameConsumer the last parameter to IterateFrames.
It seems a more natural ordering.
2015-03-27 18:05:00 +00:00
David Wragg 0d30df165f Eliminate UDPPacket
The Name field is not used anywhere, and once that's gone the remaining
pairing of the packet bytes and sender is not worth it.
2015-03-27 18:05:00 +00:00
David Wragg 4a1d3aeb96 Remove frameLen parameter to FrameConsumer
It's the same as len(frame)
2015-03-27 18:05:00 +00:00
David Wragg bc45a363dd Make Encryptor.AppendFrame more consistent with FrameConsumer
Also removes references to Peer type in crypto.go, to keep it agnostic
of higher-level concerns.
2015-03-27 18:05:00 +00:00
David Wragg a670272a37 Remove name parameter from (*Peers)ForEach consumer function
It's part of the Peer anyway.
2015-03-27 18:05:00 +00:00
Matthias Radestock 5617258cca Merge remote-tracking branch 'upstream/master' 2015-03-27 16:33:28 +00:00
Matthias Radestock a337e981ba refactor: extract helper 2015-03-27 12:38:06 +00:00
Matthias Radestock 0ef717a7a2 refactor: extract helper function 2015-03-27 12:31:25 +00:00
Matthias Radestock d25d295784 refactor: small tweak for consistency 2015-03-27 12:17:28 +00:00
Matthias Radestock 60ba8cb90d refactor: extract helper function 2015-03-27 12:06:22 +00:00
Matthias Radestock 4d8c156915 continuing accumulation after dropping a frame is bad after all
explain why
2015-03-27 11:56:38 +00:00
Matthias Radestock 6ea625f85b fix typo 2015-03-27 11:54:24 +00:00
Matthias Radestock 84a95f2daf refactor: concentrate frame appending code in one place 2015-03-27 11:53:56 +00:00
Matthias Radestock f544fc68de enter frame accumulation even after dropping one
This logically makes more sense, i.e. we keep draining frames from
fwd.ch until we run out.
2015-03-27 11:35:42 +00:00
Matthias Radestock 83724a08c9 refactor: get rid of Forwarder.stop channel
signal termination by sending nil to the main channel instead
2015-03-27 11:32:50 +00:00
Matthias Radestock 157afa0b5d comment 2015-03-27 11:15:25 +00:00
Matthias Radestock 1a39cb163a keep accumulating frames even when dropping some
This logically makes more sense, i.e. we keep draining frames from
fwd.ch until we run out.
2015-03-27 11:05:50 +00:00
Matthias Radestock 1c5fee0a5e refactor: simplify Forwarder.run by extracing a helper function
Also, don't check for failed receive on fwd.ch; it cannot happen and
we weren't doing it everywhere anyway.
2015-03-27 11:03:05 +00:00
Adam Harrison 140ac8939b Merge pull request #491 from tomwilkie/lint
Add lint script, which can also act as an optional presubmit hook.
2015-03-27 10:15:04 +00:00
Matthias Radestock 2d74bb4cfa one more name->name+nickname display conversion 2015-03-27 07:10:32 +00:00
Matthias Radestock 16ddb95adc include peer nick name in JSON output
and make the keys consistent
2015-03-27 06:32:30 +00:00
Matthias Radestock 33520ea230 include peer nickname in display output whenever possible 2015-03-27 05:25:28 +00:00
Matthias Radestock 1eca5e1097 refactor: extract helper func and simplify 2015-03-27 04:49:00 +00:00
rade 245f747745 Merge pull request #488 from awh/486_administrative_peer_removal
Implement 'weave forget' command

Closes #486.
2015-03-27 01:53:16 +00:00
Matthias Radestock 308da993eb refactor: extract some funs for better readability 2015-03-27 01:51:04 +00:00
Matthias Radestock 8cb9e301ee cosmetic: more linting 2015-03-27 01:24:19 +00:00
Matthias Radestock 2500bc210a cosmetic: more linting 2015-03-27 01:21:36 +00:00
Matthias Radestock 1ad950f177 cosmetic: more linting 2015-03-27 01:12:16 +00:00
Matthias Radestock e3ef5433cf cosmetic: linting 2015-03-27 00:43:26 +00:00
Matthias Radestock 2d83fcc398 oops 2015-03-26 18:37:37 +00:00
Matthias Radestock 44a4dd9888 cosmetic: go vet 2015-03-26 18:36:00 +00:00
Tom Wilkie dde179f861 Quote the last filename 2015-03-26 18:19:02 +00:00
Tom Wilkie 9e63b4e8c7 Feedback on lint script 2015-03-26 18:08:30 +00:00
Bryan Boreham 7a4a88aeb9 Remove unused unnamed second item in ranges 2015-03-26 18:04:57 +00:00
Adam Harrison b3de9ab85f Clarify documentation 2015-03-26 16:10:04 +00:00
Tom Wilkie d041bec315 Add lint script, which can also act as an optional presubmit hook. 2015-03-26 15:14:01 +00:00
Adam Harrison 3417608209 Don't reset timer when forgetting an address 2015-03-26 14:54:44 +00:00
Matthias Radestock 15fdcae25a Merge remote-tracking branch 'upstream/master' 2015-03-26 14:22:37 +00:00
Matthias Radestock 45740b1419 refactor: replace buf.WriteString(fmt.S*(...)) with fmt.F*(&buf,...)
shorter and more efficient
2015-03-26 14:20:28 +00:00
rade 0e54ca8c2b Merge pull request #490 from errordeveloper/master
Updates to Vagrantfile
2015-03-26 13:57:32 +00:00
Matthias Radestock e7335f361c refactor: move a func that is only used in testing 2015-03-26 13:53:09 +00:00