Commit Graph

70 Commits

Author SHA1 Message Date
Brian Tiger Chow
03ffdbffed refac(bitswap): privatize bitswap 2014-09-22 04:05:20 -07:00
Brian Tiger Chow
881447e68e refac(bitswap) use blockstore 2014-09-22 04:05:20 -07:00
Brian Tiger Chow
014157cac6 refac(bitswap) simply network interfaces 2014-09-22 04:05:18 -07:00
Brian Tiger Chow
c34d4df96d feat(bitswap:network) define a service interface for use with net/service/Service 2014-09-22 04:05:18 -07:00
Brian Tiger Chow
6fa0e2157f refactor(bitswap) rename bitswap/transmission -> bitswap/network
makes more sense this way
2014-09-22 04:05:18 -07:00
Brian Tiger Chow
06b5804d9c wip(bitswap) port service wrapper 2014-09-22 04:05:18 -07:00
Brian Tiger Chow
fda94d9f34 refactor(bitswap) rm SetStrategy method
remove this setter while the interface is under construction
2014-09-22 04:05:18 -07:00
Brian Tiger Chow
0ab86de407 refac(bitswap:exch) HasBlock(ptr) -> HasBlock(val) 2014-09-22 04:05:18 -07:00
Brian Tiger Chow
e07d3418c4 refac(bitswap:message) accept block by value 2014-09-22 04:05:18 -07:00
Brian Tiger Chow
770cdebf7b feat(bitswap) impl offline exchange 2014-09-22 04:05:18 -07:00
Brian Tiger Chow
adf62a39d5 refac(bitswap:notif) replace block generating func 2014-09-22 04:05:17 -07:00
Brian Tiger Chow
ad14d6c561 refac(bitswap:interface) GetBlock, HaveBlock -> Block, HasBlock 2014-09-22 04:05:17 -07:00
Juan Batiz-Benet
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
Juan Batiz-Benet
c7148cd83c Service: remove RequestID from SendMessage 2014-09-22 04:05:16 -07:00
Juan Batiz-Benet
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
Brian Tiger Chow
2738d72095 feat(bitswap) add interface 2014-09-22 04:05:16 -07:00
Brian Tiger Chow
ab460ed882 refactor(bs, core) rename bitswap objects 2014-09-22 04:05:15 -07:00
Brian Tiger Chow
0075a47df0 fix(bs) remove concrete refs to swarm and dht 2014-09-22 04:05:15 -07:00
Brian Tiger Chow
0d3b0f1062 fix(bs:msg) remove swarm.Message
no longer exists. instead, use net message
2014-09-22 04:05:15 -07:00
Brian Tiger Chow
5b5e17ed79 style(bs:tx) rename receiver -> forwarder 2014-09-22 04:05:15 -07:00
Brian Tiger Chow
2edc03aca1 style(bs:tx) rename network -> transmission 2014-09-22 04:05:15 -07:00
Brian Tiger Chow
806b3c2977 refac(bs:msg) msg.Wantlist() returns []u.Key 2014-09-22 04:05:15 -07:00
Brian Tiger Chow
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
Brian Tiger Chow
a3487eb491 fix(bs:net) add peer to receiver interface 2014-09-22 04:05:14 -07:00
Brian Tiger Chow
baafc6fdf2 style(bs:notific) let struct field be value
rather than pointer
2014-09-22 04:05:14 -07:00
Brian Tiger Chow
7fcb5d3a4b feat(bs:net) impl service wrapper 2014-09-22 04:05:14 -07:00
Brian Tiger Chow
b8bd2bc455 refactor(bitswap:msg) move to package 2014-09-22 04:05:14 -07:00
Brian Tiger Chow
282acb8f26 refactor(bitswap:msg) add, use getters 2014-09-22 04:05:14 -07:00
Brian Tiger Chow
21639564e7 feat(bitswap:msg) impl FromSwarm method 2014-09-22 04:05:14 -07:00
Brian Tiger Chow
70999886c5 feat(bitswap:msg) define interfaces 2014-09-22 04:05:14 -07:00
Brian Tiger Chow
24224979bb feat(bitswap:msg) add ToNet() method 2014-09-22 04:05:14 -07:00
Brian Tiger Chow
2f4175a00d test(bitswap:notifications) check if chan is open 2014-09-22 04:05:14 -07:00
Brian Tiger Chow
a7ef09554f refactor(bitswap:notifications) move, rename
add interface
2014-09-22 04:05:14 -07:00
Brian Tiger Chow
cc163a955d docs(bitswap:notifications) Subscribe 2014-09-22 04:05:13 -07:00
Brian Tiger Chow
b1155a0bb6 fix(bitswap:notifications) close chan on Publish 2014-09-22 04:05:13 -07:00
Brian Tiger Chow
7c378126f5 style(bitswap:notifications) rm explicit returns 2014-09-22 04:05:13 -07:00
Brian Tiger Chow
d294f7dcb2 fix(bitswap:notifications) shutdown on bs.Halt() 2014-09-22 04:05:13 -07:00
Brian Tiger Chow
b28343cffe refactor(bitswap) meslistener -> notifications 2014-09-22 04:05:13 -07:00
Brian Tiger Chow
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
Juan Batiz-Benet
c14123397a starting to integrate new net 2014-09-22 04:05:13 -07:00
Juan Batiz-Benet
67e76c0acc godeps multiaddr + swarm move. 2014-09-22 04:05:12 -07:00
Brian Tiger Chow
677d790fb5 Merge pull request #38 from jbenet/feat/bitswap-import-cleanup
chore(bitswap) tidy up bitswap, ledger
2014-09-11 12:13:57 -07:00
Brian Tiger Chow
421fe5bf76 refactor(bitswap:message) add wrapper for proto 2014-09-11 03:27:47 -07:00
Brian Tiger Chow
ad30333581 fix(bitswap:ledger) race conditions
https://github.com/jbenet/go-ipfs/issues/39
2014-09-11 01:02:52 -07:00
Brian Tiger Chow
7bae742872 privatize fields in ledger 2014-09-10 20:30:08 -07:00
Brian Tiger Chow
99db07c3a4 hide ledger wantlist manipulation 2014-09-10 20:23:39 -07:00
Brian Tiger Chow
182604c61f substitute with LedgerMap type 2014-09-10 19:47:47 -07:00
Brian Tiger Chow
a910d6878d privatize getLedger method 2014-09-10 19:43:23 -07:00
Brian Tiger Chow
d71c166835 organize imports 2014-09-10 19:38:21 -07:00
Brian Tiger Chow
7968b45e58 vendor dependencies with godep
dependencies are vendored into Godeps/_workspace and commit versions are
recorded in Godeps.json

update datastore to e89f0511
update go.crypto
2014-09-09 22:39:42 -07:00