Janoš Guljaš
8ea3d8ad90
swarm: fix network/stream data races ( #19051 )
...
* swarm/network/stream: newStreamerTester cleanup only if err is nil
* swarm/network/stream: raise newStreamerTester waitForPeers timeout
* swarm/network/stream: fix data races in GetPeerSubscriptions
* swarm/storage: prevent data race on LDBStore.batchesC
https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-461775049
* swarm/network/stream: fix TestGetSubscriptionsRPC data race
https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-461768477
* swarm/network/stream: correctly use Simulation.Run callback
https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-461783804
* swarm/network: protect addrCountC in Kademlia.AddrCountC function
https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-462273444
* p2p/simulations: fix a deadlock calling getRandomNode with lock
https://github.com/ethersphere/go-ethereum/issues/1198#issuecomment-462317407
* swarm/network/stream: terminate disconnect goruotines in tests
* swarm/network/stream: reduce memory consumption when testing data races
* swarm/network/stream: add watchDisconnections helper function
* swarm/network/stream: add concurrent counter for tests
* swarm/network/stream: rename race/norace test files and use const
* swarm/network/stream: remove watchSim and its panic
* swarm/network/stream: pass context in watchDisconnections
* swarm/network/stream: add concurrent safe bool for watchDisconnections
* swarm/storage: fix LDBStore.batchesC data race by not closing it
(cherry picked from commit 3fd6db2bf6
)
2019-02-19 13:11:52 +01:00
Ferenc Szabo
dcff622d43
swarm: CI race detector test adjustments ( #19017 )
...
(cherry picked from commit 27e3f96819
)
2019-02-19 13:11:51 +01:00
Anton Evangelatov
a3db00f270
swarm/network: refactor simulation tests bootstrap ( #18975 )
...
(cherry picked from commit 597597e8b2
)
2019-02-19 13:11:50 +01:00
holisticode
769e43e334
swarm: GetPeerSubscriptions RPC ( #18972 )
...
(cherry picked from commit 43e1b7b124
)
2019-02-19 13:11:50 +01:00
lash
068725c5b0
swarm/network, swarm/storage: Preserve opentracing contexts ( #19022 )
...
(cherry picked from commit 0c10d37606
)
2019-02-19 13:09:09 +01:00
Ferenc Szabo
710775f435
swarm/network: fix data race in fetcher_test.go ( #18469 )
...
(cherry picked from commit 19bfcbf911
)
2019-02-19 13:09:09 +01:00
Ferenc Szabo
3c62cc6bba
swarm/storage: fix test timeout with -race by increasing mget timeout
...
(cherry picked from commit 1c3aa8d9b1
)
2019-02-19 13:06:14 +01:00
holisticode
d1ace4f344
swarm: Debug API and HasChunks() API endpoint ( #18980 )
...
(cherry picked from commit 41597c2856
)
2019-02-19 13:06:13 +01:00
lash
607a1968e6
swarm/network: Remove extra random peer, connect test sanity, comments ( #18964 )
...
(cherry picked from commit f9401ae011
)
2019-02-19 12:57:53 +01:00
Janoš Guljaš
3f54994db0
swarm: fix flaky delivery tests ( #18971 )
...
(cherry picked from commit 592bf6a59c
)
2019-02-19 12:57:53 +01:00
Elad
2695aa9e0d
p2p/testing, swarm: remove unused testing.T in protocol tester ( #18500 )
...
(cherry picked from commit 2abeb35d54
)
2019-02-19 12:56:31 +01:00
gluk256
e247dcc141
swarm/version: commit version added ( #18510 )
...
(cherry picked from commit ad13d2d407
)
2019-02-19 12:56:31 +01:00
Anton Evangelatov
4976fcc91a
swarm: bootnode-mode, new bootnodes and no p2p package discovery ( #18498 )
...
(cherry picked from commit bbd120354a
)
2019-02-19 12:56:30 +01:00
Elad
afb65f6ace
swarm/network: fix data race warning on TestBzzHandshakeLightNode ( #18459 )
...
(cherry picked from commit 81e26d5a48
)
2019-02-19 12:55:18 +01:00
Viktor Trón
1f1c751b6e
swarm/network: rewrite of peer suggestion engine, fix skipped tests ( #18404 )
...
* swarm/network: fix skipped tests related to suggestPeer
* swarm/network: rename depth to radius
* swarm/network: uncomment assertHealth and improve comments
* swarm/network: remove commented code
* swarm/network: kademlia suggestPeer algo correction
* swarm/network: kademlia suggest peer
* simplify suggest Peer code
* improve peer suggestion algo
* add comments
* kademlia testing improvements
* assertHealth -> checkHealth (test helper)
* testSuggestPeer -> checkSuggestPeer (test helper)
* remove testSuggestPeerBug and TestKademliaCase
* swarm/network: kademlia suggestPeer cleanup, improved comments
* swarm/network: minor comment, discovery test default arg
(cherry picked from commit bcb2594151
)
2019-02-19 12:55:07 +01:00
Elad
a3f31f51f3
cmd/swarm/swarm-snapshot: swarm snapshot generator ( #18453 )
...
* cmd/swarm/swarm-snapshot: add binary to create network snapshots
* cmd/swarm/swarm-snapshot: refactor and extend tests
* p2p/simulations: remove unused triggerChecks func and fix linter
* internal/cmdtest: raise the timeout for killing TestCmd
* cmd/swarm/swarm-snapshot: add more comments and other minor adjustments
* cmd/swarm/swarm-snapshot: remove redundant check in createSnapshot
* cmd/swarm/swarm-snapshot: change comment wording
* p2p/simulations: revert Simulation.Run from master
https://github.com/ethersphere/go-ethereum/pull/1077/files#r247078904
* cmd/swarm/swarm-snapshot: address pr comments
* swarm/network/simulations/discovery: removed snapshot write to file
* cmd/swarm/swarm-snapshot, swarm/network/simulations: removed redundant connection event check, fixed lint error
(cherry picked from commit 34f11e752f
)
2019-02-19 12:54:56 +01:00
Janoš Guljaš
e63995b3f3
swarm/network: fix data race in TestNetworkID test ( #18460 )
...
(cherry picked from commit 96c7c18b18
)
2019-02-19 12:54:10 +01:00
gluk256
4aeeecfded
swarm/pot: each() functions refactored ( #18452 )
2019-01-15 11:51:33 +01:00
holisticode
88168ff5c5
Stream subscriptions ( #18355 )
...
* swarm/network: eachBin now starts at kaddepth for nn
* swarm/network: fix Kademlia.EachBin
* swarm/network: fix kademlia.EachBin
* swarm/network: correct EachBin implementation according to requirements
* swarm/network: less addresses simplified tests
* swarm: calc kad depth outside loop in EachBin test
* swarm/network: removed printResults
* swarm/network: cleanup imports
* swarm/network: remove kademlia.EachBin; fix RequestSubscriptions and add unit test
* swarm/network/stream: address PR comments
* swarm/network/stream: package-wide subscriptionFunc
* swarm/network/stream: refactor to kad.EachConn
2019-01-11 15:08:09 +01:00
Ferenc Szabo
2eb838ed97
p2p/simulations: eliminate concept of pivot ( #18426 )
2019-01-11 10:23:45 +01:00
lash
7240f4d800
swarm/network: Rename minproxbinsize, add as member of simulation ( #18408 )
...
* swarm/network: Rename minproxbinsize, add as member of simulation
* swarm/network: Deactivate WaitTillHealthy, unreliable pending suggestpeer
2019-01-10 12:33:51 +01:00
Viktor Trón
6df3e4eeb0
swarm/network: remove isproxbin bool from kad.Each* iterfunc ( #18239 )
...
* swarm/network, swarm/pss: remove isproxbin bool from kad.Each* iterfunc
* swarm/network: restore comment and unskip snapshot sync tests
2019-01-10 03:36:19 +01:00
Janoš Guljaš
d70c4faf20
swarm: Fix T.Fatal inside a goroutine in tests ( #18409 )
...
* swarm/storage: fix T.Fatal inside a goroutine
* swarm/network/simulation: fix T.Fatal inside a goroutine
* swarm/network/stream: fix T.Fatal inside a goroutine
* swarm/network/simulation: consistent failures in TestPeerEventsTimeout
* swarm/network/simulation: rename sendRunSignal to triggerSimulationRun
2019-01-09 07:05:55 +01:00
holisticode
ae857e74bf
swarm, p2p/protocols: Stream accounting ( #18337 )
...
* swarm: completed 1st phase of swap accounting
* swarm, p2p/protocols: added stream pricing
* swarm/network/stream: gofmt simplify stream.go
* swarm: fixed review comments
* swarm: used snapshots for swap tests
* swarm: custom retrieve for swap (less cascaded requests at any one time)
* swarm: addressed PR comments
* swarm: log output formatting
* swarm: removed parallelism in swap tests
* swarm: swap tests simplification
* swarm: removed swap_test.go
* swarm/network/stream: added prefix space for comments
* swarm/network/stream: unit test for prices
* swarm/network/stream: don't hardcode price
* swarm/network/stream: fixed invalid price check
2019-01-08 00:59:00 +01:00
Ferenc Szabo
fe03b76ffe
A few minor code inspection fixes ( #18393 )
...
* swarm/network: fix code inspection problems
- typos
- redundant import alias
* p2p/simulations: fix code inspection problems
- typos
- unused function parameters
- redundant import alias
- code style issue: snake case
* swarm/network: fix unused method parameters inspections
2019-01-06 11:58:57 +01:00
Dave McGregor
33d233d3e1
vendor, crypto, swarm: switch over to upstream sha3 package
2019-01-04 09:26:07 +02:00
Anton Evangelatov
9e9fc87e70
swarm: remove unused/dead code ( #18351 )
2018-12-23 17:31:32 +01:00
lash
5e4fd8e7db
swarm/network: Revised depth and health for Kademlia ( #18354 )
...
* swarm/network: Revised depth calculation with tests
* swarm/network: WIP remove redundant "full" function
* swarm/network: WIP peerpot refactor
* swarm/network: Make test methods submethod of peerpot and embed kad
* swarm/network: Remove commented out code
* swarm/network: Rename health test functions
* swarm/network: Too many n's
* swarm/network: Change hive Healthy func to accept addresses
* swarm/network: Add Healthy proxy method for api in hive
* swarm/network: Skip failing test out of scope for PR
* swarm/network: Skip all tests dependent on SuggestPeers
* swarm/network: Remove commented code and useless kad Pof member
* swarm/network: Remove more unused code, add counter on depth test errors
* swarm/network: WIP Create Healthy assertion tests
* swarm/network: Roll back health related methods receiver change
* swarm/network: Hardwire network minproxbinsize in swarm sim
* swarm/network: Rework Health test to strict
Pending add test for saturation
And add test for as many as possible up to saturation
* swarm/network: Skip discovery tests (dependent on SuggestPeer)
* swarm/network: Remove useless minProxBinSize in stream
* swarm/network: Remove unnecessary testing.T param to assert health
* swarm/network: Implement t.Helper() in checkHealth
* swarm/network: Rename check back to assert now that we have helper magic
* swarm/network: Revert WaitTillHealthy change (deferred to nxt PR)
* swarm/network: Kademlia tests GotNN => ConnectNN
* swarm/network: Renames and comments
* swarm/network: Add comments
2018-12-22 06:53:30 +01:00
lash
e1edfe0689
p2p/simulation: Test snapshot correctness and minimal benchmark ( #18287 )
...
* p2p/simulation: WIP minimal snapshot test
* p2p/simulation: Add snapshot create, load and verify to snapshot test
* build: add test tag for tests
* p2p/simulations, build: Revert travis change, build test sym always
* p2p/simulations: Add comments, timeout check on additional events
* p2p/simulation: Add benchmark template for minimal peer protocol init
* p2p/simulations: Remove unused code
* p2p/simulation: Correct timer reset
* p2p/simulations: Put snapshot check events in buffer and call blocking
* p2p/simulations: TestSnapshot fail if Load function returns early
* p2p/simulations: TestSnapshot wait for all connections before returning
* p2p/simulation: Revert to before wait for snap load (5e75594)
* p2p/simulations: add "conns after load" subtest to TestSnapshot
and nudge
2018-12-21 06:22:11 +01:00
Javier Peletier
de4265fa02
swarm/network/simulation:commented out unreachable code-avoid vet errors ( #18263 )
2018-12-18 07:24:59 +01:00
holisticode
90ea542e9e
Update visualized snapshot test ( #18286 )
...
* swarm/network/stream: fix visualized_snapshot_sync_sim_test
* swarm/network/stream: updated visualized snapshot-test;data in p2p event
* swarm/network/stream: cleanup visualized snapshot sync test
* swarm/network/stream: re-enable t.Skip for visualized test
* swarm/network/stream: addressed PR comments
2018-12-18 07:20:59 +01:00
Elad
472c23a801
p2p/simulation: move connection methods from swarm/network/simulation ( #18323 )
2018-12-17 12:19:01 +01:00
lash
dd98d1da94
swarm/network: Correct ambiguity in compared addresses ( #18251 )
2018-12-10 14:56:01 +02:00
Janoš Guljaš
661809714e
swarm: snapshot load improvement ( #18220 )
...
* swarm/network: Hive - do not notify peer if discovery is disabled
* p2p/simulations: validate all connections on loading a snapshot
* p2p/simulations: track all connections in on snapshot loading
* p2p/simulations: add snapshotLoadTimeout variable
* p2p/simulations: ignore control events in snapshot load
* p2p/simulations: simplify event loop synchronization
* p2p/simulations: return already connected error from Load function
* p2p/simulations: log warning on snapshot loading disconnection
2018-12-07 06:51:40 +01:00
holisticode
b98d2e9a1c
swarm/network/stream: Debug log instead of Warn for retrieval failure ( #18246 )
2018-12-04 18:29:51 +01:00
holisticode
695a5cce1e
Increase bzz version ( #18184 )
...
* swarm/network/stream/: added stream protocol version match tests
* Increase BZZ version due to streamer version change; version tests
* swarm/network: increased hive and test protocol version
2018-11-26 19:34:40 +01:00
lash
1cd007ecae
swarm/network: Correct neighborhood depth ( #18066 )
2018-11-26 17:13:59 +01:00
lash
197d609b9a
swarm/pss: Message handler refactor ( #18169 )
2018-11-26 13:52:04 +01:00
Janoš Guljaš
93854bbad4
swarm/network/simulation: fix New function for-loop scope ( #18161 )
2018-11-26 12:39:38 +01:00
Janoš Guljaš
070caec4bd
swarm/network/stream: use swarm/mock/mem as mock global store ( #18157 )
2018-11-21 20:49:13 +01:00
Anton Evangelatov
4c181e4fb9
swarm/state: refactor InmemoryStore ( #18143 )
2018-11-21 14:36:56 +01:00
holisticode
ffe2fc3bc4
Swarm accounting ( #18050 )
...
* swarm: completed 1st phase of swap accounting
* swarm: swap accounting for swarm with p2p accounting
* swarm/swap: addressed PR comments
* swarm/swap: ignore ErrNotFound on stateStore.Get()
* swarm/swap: GetPeerBalance test; add TODO for chequebook API check
* swarm/network/stream: fix NewRegistry calls with new arguments
* swarm/swap: address @justelad's PR comments
2018-11-15 23:41:19 +01:00
Janoš Guljaš
324027640b
swarm/network/simulation: use simulations.Event instead p2p.PeerEvent ( #18098 )
2018-11-15 21:06:27 +01:00
Alexey Sharov
eb8fa3cc89
cmd/swarm, swarm/api/http, swarm/bmt, swarm/fuse, swarm/network/stream, swarm/storage, swarm/storage/encryption, swarm/testutil: use pseudo-random instead of crypto-random for test files content generation ( #18083 )
...
- Replace "crypto/rand" to "math/rand" for files content generation
- Remove swarm/network_test.go.Shuffle and swarm/btm/btm_test.go.Shuffle - because go1.9 support dropped (see https://github.com/ethereum/go-ethereum/pull/17807 and comments to swarm/network_test.go.Shuffle)
2018-11-14 09:21:14 +01:00
lash
201a0bf181
p2p/simulations, swarm/network: Custom services in snapshot ( #17991 )
...
* p2p/simulations: Add custom services to simnodes + remove sim down conn objs
* p2p/simulation, swarm/network: Add selective services to discovery sim
* p2p/simulations, swarm/network: Remove useless comments
* p2p/simulations, swarm/network: Clean up mess from rebase
* p2p/simulation: Add sleep to prevent connect flakiness in http test
* p2p/simulations: added concurrent goroutines to prevent sleeps on simulation connect/disconnect
* p2p/simulations, swarm/network/simulations: address pr comments
* reinstated dummy service
* fixed http snapshot test
2018-11-12 14:57:17 +01:00
Anton Evangelatov
cf3b187bde
swarm, cmd/swarm: address ineffectual assignments ( #18048 )
...
* swarm, cmd/swarm: address ineffectual assignments
* swarm/network: remove unused vars from testHandshake
* swarm/storage/feed: revert cursor changes
2018-11-07 20:39:08 +01:00
Mark Vujevits
81533deae5
swarm/network: light nodes are not dialed, saved and requested from ( #17975 )
...
* RequestFromPeers does not use peers marked as lightnode
* fix warning about variable name
* write tests for RequestFromPeers
* lightnodes should be omitted from the addressbook
* resolve pr comments regarding logging, formatting and comments
* resolve pr comments regarding comments and added a missing newline
* add assertions to check peers in live connections
2018-11-07 20:33:36 +01:00
holisticode
79c7a69ac8
swarm: Better syncing and retrieval option definition ( #17986 )
...
* swarm: Better syncing and retrieval option definition
* swarm/network/stream: better comments
* swarm/network/stream: addressed PR comments
2018-11-07 00:04:18 +01:00
Ferenc Szabo
54f650a3be
swarm: clean up unused private types and functions ( #17989 )
...
* swarm: clean up unused private types and functions
Those that were identified by code inspection tool.
* swarm/storage: move/add Proximity GoDoc from deleted private function
The mentioned proximity() private function was deleted in:
1ca8fc1e6f
2018-10-27 16:18:42 +02:00
holisticode
88b41a9e68
swarm/network/stream: disambiguate chunk delivery messages (retrieval… ( #17920 )
...
* swarm/network/stream: disambiguate chunk delivery messages (retrieval vs syncing)
* swarm/network/stream: addressed PR comments
* swarm/network/stream: stream protocol version change due to new message types in this PR
2018-10-21 09:30:41 +02:00