Commit graph

124 commits

Author SHA1 Message Date
zelig
d3f689a01e potfix 2017-06-21 09:36:51 +02:00
nolash
dca2fd0f0f swarm/pss: newhashaddressfrombytes change 2017-06-21 09:36:51 +02:00
nolash
26d7ceee1f swarm, swarm/network, swarm/pss: debug addr types + pss over devp2p 2017-06-21 09:36:51 +02:00
zelig
82150d65cb swarm/network, pot, swarm/pss: kademlia fixes 2017-06-21 09:36:51 +02:00
zelig
77b5ff3ff1 temp commit, kademlia changes 2017-06-21 09:36:51 +02:00
nolash
339e3c89a7 swarm, swarm/network, swarm/pss, les: fixed swarm bin + minor adj
removed all Pss in symbol names whereever possible (and sensible)

discovery switch in hive now prevents add of suggested peers
this is probably not a permanent solution

bzz and pss now started from swarm.go,
Outputs from bzz/pss Protocols() and APIs()
are appended to the Swarm methods
2017-06-06 22:20:21 +02:00
nolash
1dcc0e3df8 swarm/pss: pssclient, pss tests
reinstated full sim pss core tests
pssclient; p2p/protocols mountable rpc proxy for pss ws)
2017-06-06 14:50:12 +02:00
Lewis Marshall
177e720b08 p2p/simulations: Support inter-node RPC connections
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-06-05 10:52:15 +01:00
Lewis Marshall
da6d15da4c p2p/simulations: Drop adapters.NodeId in favour of discover.NodeID
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-27 16:11:03 +01:00
Lewis Marshall
111dd56f17 p2p/simulations: Fix starting nodes with multiple services
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-23 22:27:55 -07:00
zelig
02f6b66e8b swarm/network/simulations: overlay 2017-05-19 16:56:44 -07:00
zelig
53be4c9e99 swarm/network: add lock to seen map in discovery 2017-05-18 14:02:10 -07:00
Lewis Marshall
dc58516e26 swarm/api: Remove reference to network.PssParams
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-18 10:09:33 -07:00
zelig
020214b7ca swarm/network: tweaks and fixes 2017-05-18 09:29:04 -07:00
nolash
7341530f6f swarm/pss, p2p/simulations/adapters: added pss routing peerpool 2017-05-18 09:29:04 -07:00
nolash
c15eba20dd swarm/network: minor bug in kademlia method 2017-05-18 08:23:28 +02:00
nolash
a924c8572e swarm/pss, swarm/network, p2p/simulations: pss prototest fix 2017-05-17 22:51:06 -07:00
nolash
d219b0edb0 WIP 2017-05-17 22:45:17 -07:00
nolash
aaeb8497a0 WIP 2017-05-17 22:05:07 -07:00
nolash
3a4aee8087 swarm/pss, p2p/testing, p2p/simulations/adapters: svcs sequence 2017-05-17 22:05:07 -07:00
nolash
dedc26bd2c swarm/pss, p2p/simulations/adapters: Multiple nodeadapter svcs + psstests 2017-05-17 22:05:07 -07:00
nolash
96331ac340 swarm, swarm/pss, swarm/network: pssclient rw reads and writes from websocket
pss is now separate package
pss event feed removed, multipile handlers allowed instead
NOTE! pss tests are removed and will be rewritten
remove pssclient outbox, psscache bug fix
WIP tests reinstation
2017-05-17 22:04:57 -07:00
zelig
6de0d73449 swarm/network: kademlia health check for discovery test 2017-05-17 22:01:07 -07:00
Lewis Marshall
30aee9e3d6 swarm/network/simulations: Update overlay sim
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-17 21:57:18 -07:00
Lewis Marshall
0534fa4f97 swarm/network: Wake the hive when a peer is registered
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-17 21:56:30 -07:00
Lewis Marshall
0b28cf8544 swarm/network: Remove hive keep alive toggle
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-17 21:56:06 -07:00
Lewis Marshall
7411066425 swarm/network: Fix bzzAddr.String()
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-17 20:35:07 -07:00
Lewis Marshall
c9d42b9cf3 swarm/network: Fix NewAddrFromNodeId
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-17 10:40:23 -07:00
zelig
584d6e7876 swarm/network: minor change to tests and no pss in bzz proto 2017-05-17 08:26:38 -07:00
Lewis Marshall
c2efe3c366 swarm/network/simulations: Improve overlay simulation
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-16 21:17:44 -07:00
zelig
5307e1ea77 swarm/network: Kademlia fixes 2017-05-16 21:17:44 -07:00
zelig
a03781dfb0 swarm/network: refactor, fix kademlia 2017-05-16 20:57:31 -07:00
Lewis Marshall
b1555c5e1b swarm/network: Fix Kademlia.String()
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-16 20:57:31 -07:00
Lewis Marshall
3ba68dc7af p2p: Change p2p.Server back to a concrete type 2017-05-16 20:57:31 -07:00
Lewis Marshall
91c198778c p2p/protocols: Refactor
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-16 20:57:31 -07:00
zelig
c870e2be26 WIP network rewrite 2017-05-15 18:31:40 -07:00
Fabio Barone
145ec4ea73 p2p/simulations: scenarios support; HTTP OPTIONS support 2017-05-12 17:28:14 -05:00
Lewis Marshall
d7eb6b5a70 p2p/simulations: Snapshot support
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-12 08:57:07 -07:00
Lewis Marshall
cf462b7781 p2p/simulations: Add p2psim command-line API client
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-10 01:39:02 -07:00
Lewis Marshall
584f8b8cf4 p2p/simulations: Refactor events
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-10 01:39:02 -07:00
Lewis Marshall
cdab665475 p2p/simulations: Move PeerEvents to admin RPC namespace
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-08 10:51:55 +01:00
Lewis Marshall
1aa80c5012 p2p/simulations: Refactor simulation HTTP API
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-06 14:25:01 +01:00
zelig
d9af74e3fb swarm/network, p2p/protocols: fix kademlia crashes and msg asyncrony 2017-05-06 14:25:01 +01:00
Lewis Marshall
12eb088e5b p2p/simulations: Refactor
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-06 14:25:00 +01:00
nolash
d5daa9a323 swarm/network: event feed/websockets pss msg notification
Adds pub/sub of incoming Pss messages using event.Feed,
and a websockets interface for pss send and notifications
through persistent connection using rpc.notifier.

Websocket RPC are started automatically on the swarm executable
if the --pss flag is present. If more instances are to be run,
alternate ws ports can be specified with the --pssport flag.

Current implementation also includes a shallow builtin ping/pong handler
with topic "pss" and version 1, to simplify POCs and testing against pss.
This will eventually be removed, so no code should be made dependent on it.
2017-05-06 14:25:00 +01:00
Lewis Marshall
b865560130 swarm/network: Trigger simulations checks on peer events
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-06 14:25:00 +01:00
Lewis Marshall
247e40a36a p2p/simulations: Get peer events via RPC
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-06 14:25:00 +01:00
nolash
b8bf32bce3 swarm/network: pss 0.1
General:
    - Message encapsulation is temporary until integration with whisper

    Incoming message handling:
    - Implements a dispatcher for registering handler functions to pss topics
    - Handlers can be any sort of function, and can send/receive on p2p.MsgReadWriter
    - Actual p2p.Protocol handling now as pluggable convenience function

Sending and routing:
    - Added temporary cache solution based on message hash digest
    - Send and forward split up as separate methods
    - Send is now payload agnostic (p2p.Protocol replies massaged in p2p.MsgWriter)

Tests:
    - TestPssRandom...
	Sends PSS between randomly selected nodes in different population magnitudes
    - TestPssFullLinearEcho
        A->B->C->B->A ping/pong over pss, where A and C are running pss
    - TestPssFullRandom50Pct
        10 nodes where 5 are running pss, 5 sends to/from random nodes
        (messages currently get stuck in kad. routing, discarded by cache block)
    - Protocoltester tests status unknown
2017-05-06 14:25:00 +01:00
Lewis Marshall
24dcc8d6e1 swarm/network: Pass p2p.Server to Hive.Start
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-06 14:25:00 +01:00
Lewis Marshall
c3dc00336e p2p/adapters: Use RPC with SimNodes
Signed-off-by: Lewis Marshall <lewis@lmars.net>
2017-05-06 14:25:00 +01:00