adf62a39d5
refac(bitswap:notif) replace block generating func
2014-09-22 04:05:17 -07:00
ad14d6c561
refac(bitswap:interface) GetBlock, HaveBlock -> Block, HasBlock
2014-09-22 04:05:17 -07:00
d91955b412
moved handlers to own file
2014-09-22 04:05:17 -07:00
c4536d127d
comment out diagnostic
...
it'll have to change lots since the listener is gone
2014-09-22 04:05:17 -07:00
69ed45c555
refactor peer distance search + handleGetProviders
2014-09-22 04:05:17 -07:00
9eb41e7237
ping + find peer
2014-09-22 04:05:17 -07:00
2522625bc6
lint nit
2014-09-22 04:05:17 -07:00
e872482aa7
refactor symbol
2014-09-22 04:05:17 -07:00
2f2808e9d8
handleGetValue
2014-09-22 04:05:17 -07:00
9c5c49b690
starting on dht-- msg handler
2014-09-22 04:05:17 -07:00
1461feec3f
simpler, clearer dht message
2014-09-22 04:05:17 -07:00
bccb3e871b
goroutine note comment
2014-09-22 04:05:16 -07:00
27d0e692ed
core dht setup
2014-09-22 04:05:16 -07:00
865109f562
expose handler in inet
2014-09-22 04:05:16 -07:00
b0d0b5fc20
better protobuf Makefile with wildcard.
2014-09-22 04:05:16 -07:00
9849794b07
Move Sender interface to network pkg
...
@perfmode sender is exactly what we need to pass in to dht/bitswap.
2014-09-22 04:05:16 -07:00
c7148cd83c
Service: remove RequestID from SendMessage
2014-09-22 04:05:16 -07:00
cb230b69a2
bugfix: service has a Start func
...
We were issuing handling goroutines in both NewService and Start
2014-09-22 04:05:16 -07:00
f9650a7906
allow service to have nil handler
...
@perfmode this means we can create a Service first, give it to
the network and protocol (removing interdep).
2014-09-22 04:05:16 -07:00
5426a1b512
refactor(blockservice) use bitswap.Exchange interface
2014-09-22 04:05:16 -07:00
2738d72095
feat(bitswap) add interface
2014-09-22 04:05:16 -07:00
dde6ad495e
todo(blockservice, core) add notes
...
* to wrap datastore for ease of use
* to pass a non-responsive bitswap mock rather than performing nil
* checks internally
2014-09-22 04:05:16 -07:00
b17bc2d54c
feat(net:service) add sender interface
2014-09-22 04:05:15 -07:00
ab460ed882
refactor(bs, core) rename bitswap objects
2014-09-22 04:05:15 -07:00
0075a47df0
fix(bs) remove concrete refs to swarm and dht
2014-09-22 04:05:15 -07:00
6aecb80395
chore(core) add TODOs to use contexts
2014-09-22 04:05:15 -07:00
0d3b0f1062
fix(bs:msg) remove swarm.Message
...
no longer exists. instead, use net message
2014-09-22 04:05:15 -07:00
68216245c6
fix(net) use NetMessage interface
2014-09-22 04:05:15 -07:00
556da76b2c
fix(cmd:ipfs) import err identify -> spipe
2014-09-22 04:05:15 -07:00
5b5e17ed79
style(bs:tx) rename receiver -> forwarder
2014-09-22 04:05:15 -07:00
2edc03aca1
style(bs:tx) rename network -> transmission
2014-09-22 04:05:15 -07:00
806b3c2977
refac(bs:msg) msg.Wantlist() returns []u.Key
2014-09-22 04:05:15 -07:00
96ab834325
feat(util) add u.Key().ToDatastore() method
2014-09-22 04:05:15 -07:00
78f0f5b0b9
refac(bs:msg) let msg.Blocks() return []blocks
...
discard erroneous values
wherever blocks cannot be nil, use value rather than pointer. only use
pointers when absolutely necessary.
2014-09-22 04:05:14 -07:00
a3487eb491
fix(bs:net) add peer to receiver interface
2014-09-22 04:05:14 -07:00
baafc6fdf2
style(bs:notific) let struct field be value
...
rather than pointer
2014-09-22 04:05:14 -07:00
7fcb5d3a4b
feat(bs:net) impl service wrapper
2014-09-22 04:05:14 -07:00
b8bd2bc455
refactor(bitswap:msg) move to package
2014-09-22 04:05:14 -07:00
282acb8f26
refactor(bitswap:msg) add, use getters
2014-09-22 04:05:14 -07:00
21639564e7
feat(bitswap:msg) impl FromSwarm method
2014-09-22 04:05:14 -07:00
70999886c5
feat(bitswap:msg) define interfaces
2014-09-22 04:05:14 -07:00
24224979bb
feat(bitswap:msg) add ToNet() method
2014-09-22 04:05:14 -07:00
2f4175a00d
test(bitswap:notifications) check if chan is open
2014-09-22 04:05:14 -07:00
a7ef09554f
refactor(bitswap:notifications) move, rename
...
add interface
2014-09-22 04:05:14 -07:00
cc163a955d
docs(bitswap:notifications) Subscribe
2014-09-22 04:05:13 -07:00
b1155a0bb6
fix(bitswap:notifications) close chan on Publish
2014-09-22 04:05:13 -07:00
7c378126f5
style(bitswap:notifications) rm explicit returns
2014-09-22 04:05:13 -07:00
d294f7dcb2
fix(bitswap:notifications) shutdown on bs.Halt()
2014-09-22 04:05:13 -07:00
b28343cffe
refactor(bitswap) meslistener -> notifications
2014-09-22 04:05:13 -07:00
455c6582f5
refactor(bitswap) leverage third-party pubsub lib
...
use a third-party pubsub library for internal communications
Insights:
* Within bitswap, the actors don't need anything more than simple pubsub
behavior. Wrapping and unwrapping messages proves unneccessary.
Changes:
* Simplifies the interface for both actors calling GetBlock and actors
receiving blocks on the network
* Leverages a well-tested third-party pubsub library
Design Goals:
* reduce complexity
* extract implementation details (wrapping and unwrapping data, etc)
from bitswap and let bitswap focus on composition of core algorithms
operations
2014-09-22 04:05:13 -07:00