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