Commit Graph

178 Commits

Author SHA1 Message Date
Brian Tiger Chow
721ff57263 fix(blockservice) fully async exchange.HasBlock 2015-01-20 23:43:21 -08:00
Juan Batiz-Benet
56ae2fd0a8 routing: record validation into record/
This commit moves the record validation/verification
from dht/ into the new record/ packaage. Validator object
-- which is merely a map of ValidatorFuncs -- with a
VerifyRecord

cc @whyrusleeping
2015-01-19 08:10:37 +00:00
Jeromy
a5233faeae some comments 2015-01-19 08:06:51 +00:00
Jeromy
feeada0d90 fix fuse mounting issues
this time, without loading the private key on every startup
2015-01-19 08:05:52 +00:00
Brian Tiger Chow
797aad9137 refactor(core) extract const 2015-01-18 14:41:43 -08:00
Brian Tiger Chow
a025fc9adf refactor(core) switch style to type assertions
@jbenet cool with this?
2015-01-18 14:41:43 -08:00
Brian Tiger Chow
c1ff2149f1 doc(core) add TODO 2015-01-18 14:41:43 -08:00
Brian Tiger Chow
15a6237ffc fix(core) improve documentation and describe behavior of function 2015-01-18 14:41:43 -08:00
Brian Tiger Chow
19c2c6556f fix(core) don't assume Repo won't be nil 2015-01-18 14:41:43 -08:00
Brian Tiger Chow
de45277883 doc(core, main) 2015-01-18 14:41:43 -08:00
Brian Tiger Chow
1edc5c0a65 refactor(core) Close in teardown
This declarative style is simpler to compose than the imperative wiring
up of objects.

+ pass context to StartOnlineServices as parameter. one by one, trying
to remove dependencies on node state so these initialization steps can
be broken down.
2015-01-18 14:41:43 -08:00
Brian Tiger Chow
4b5ff960c9 feat(core): use repo.Repo in core constructor 2015-01-18 14:41:42 -08:00
Brian Tiger Chow
884143bf9c move generic packages to thirdparty (see thirdparty/README.md) 2015-01-18 14:04:45 -08:00
Jeromy
a7650b259d add test for reprovider and slight refactor 2015-01-14 22:14:52 +00:00
Juan Batiz-Benet
f068c89147 reprovide: move core's reprovider into online services 2015-01-13 22:12:37 -08:00
Jeromy
3269986e42 basic reprovider implementation
make vendor
2015-01-13 22:12:37 -08:00
Brian Tiger Chow
5b3164de5c refactor(repo/config) move config under repo 2015-01-13 03:09:30 -08:00
Juan Batiz-Benet
7aa4a83f2e addr: proper filter + subtract 2015-01-12 20:49:06 -08:00
Juan Batiz-Benet
ceadfbe791 core: some logging for addresses 2015-01-12 19:15:02 -08:00
Juan Batiz-Benet
7ec1a674e3 p2p/net/swarm: do not usre link local addrs 2015-01-12 19:15:02 -08:00
Brian Tiger Chow
63c0d41614 fix(core): perform sophisticated boostrap operation 2015-01-11 01:23:27 -08:00
Brian Tiger Chow
033e33dadf feat(core): expose IpfsNode.Resolve 2015-01-11 01:23:27 -08:00
Brian Tiger Chow
223ee4df1a refactor(core): move Add, Cat to core/io 2015-01-11 01:23:27 -08:00
Brian Tiger Chow
ddf14bee78 refactor(core): replace online bool with mode type 2015-01-11 01:23:27 -08:00
Brian Tiger Chow
130532c532 rm errTODO 2015-01-11 01:23:27 -08:00
Brian Tiger Chow
b0f7143250 refactor(core): distinguish repo.Repo components 2015-01-11 01:23:27 -08:00
Brian Tiger Chow
9d438843bd refactor(core): distinguish Online services 2015-01-11 01:23:27 -08:00
Brian Tiger Chow
ca8190a889 refactor(core): isolate complex DHT initialization 2015-01-11 01:23:27 -08:00
Brian Tiger Chow
eb6c40d5dd refactor(core): isolate the complex initialization of PeerHost construction 2015-01-11 01:23:27 -08:00
Brian Tiger Chow
8e42e86d87 hack(core): instantiate peerstore at the end if it hasn't already been instantiated
this is a dirty hack
2015-01-11 01:23:26 -08:00
Brian Tiger Chow
707874c3a5 refactor(core): init node.Blocks in shared NewIPFSNode constructor 2015-01-11 01:23:26 -08:00
Brian Tiger Chow
34e8f3ee26 refactor(core): init DAG and its dependents in shared constructor
fix: remove merkledag import

may need to squash this commit into the merkledag move commit
2015-01-11 01:23:26 -08:00
Brian Tiger Chow
7fa5d81093 refactor(core): rename 2015-01-11 01:23:26 -08:00
Brian Tiger Chow
efb75ee5ba refactor: move add and cat to the core 2015-01-11 01:23:25 -08:00
Brian Tiger Chow
2c3fb43350 feat: expose IpfsNode.Bootstrap() method 2015-01-11 01:23:25 -08:00
Brian Tiger Chow
4c2eda2123 refactor: remove deprecated function 2015-01-11 01:23:25 -08:00
Brian Tiger Chow
57b3ffa533 feat: new core constructor + config options (Standard, Online, Offline) 2015-01-11 01:23:25 -08:00
Juan Batiz-Benet
1bd69b19ac core: make sure to call swarm.FilterAddrs
also move network setup into its own self-contained func
2015-01-10 08:07:19 -08:00
Juan Batiz-Benet
1fa14335b9 core: rearranged initialization a bit 2015-01-04 00:47:27 -08:00
Juan Batiz-Benet
8fb5cf9578 swap net2 -> net 2015-01-02 08:46:46 -08:00
Juan Batiz-Benet
e2698a8733 net -> p2p/net
The net package is the next to move. It will be massaged
a bit still to fix the Network / "NetworkBackend" conflict.
2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
cc0d7c9b57 crypto -> p2p/crypto
The crypto package moves into p2p. Nothing in it so far is ipfs
specific; everything is p2p-general.
2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
89f5cd4c94 introducing p2p pkg
I think it's time to move a lot of the peer-to-peer networking
but-not-ipfs-specific things into its own package: p2p.
This could in the future be split off into its own library.
The first thing to go is the peer.
2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
49cb135ca2 ipfsnet -> swarmnet
swarmnet is a better name for the package, because
it's just a Network implemented with a Swarm.
(ipfsnet will be something slightly different).
2015-01-02 08:46:44 -08:00
Juan Batiz-Benet
4807127def net: move Network implementation to own pkg
I needed the network implementation in its own
package, because I'll be writing several services that
will plug into _it_ that shouldn't be part of the core net
package. and then there were dependency conflicts. yay.
mux + identify are good examples of what i mean.
2015-01-02 08:46:43 -08:00
Brian Tiger Chow
27dc9594ba refactor(bitswap) bitswap.Network now abstracts ipfs.Network + ipfs.Routing
@jbenet @whyrusleeping

the next commit will change bitswap.Network.FindProviders to only deal
with IDs
2014-12-23 09:19:21 -08:00
Juan Batiz-Benet
64a4abcd6c listen addresses: add Interface addresses
network.ListenAddresses() are general.
Interface addresses are specific.
2014-12-23 09:01:54 -08:00
Juan Batiz-Benet
a10fb7aa4b core: set local listening addresses 2014-12-23 08:44:59 -08:00
Juan Batiz-Benet
c84a714b16 peer change: peer.Peer -> peer.ID
this is a major refactor of the entire codebase
it changes the monolithic peer.Peer into using
a peer.ID and a peer.Peerstore.

Other changes:
- removed handshake3.
-	testutil vastly simplified peer
-	secio bugfix + debugging logs
-	testutil: RandKeyPair
-	backpressure bugfix: w.o.w.
-	peer: added hex enc/dec
-	peer: added a PeerInfo struct
  PeerInfo is a small struct used to pass around a peer with
 	a set of addresses and keys. This is not meant to be a
 	complete view of the system, but rather to model updates to
 	the peerstore. It is used by things like the routing system.
-	updated peer/queue + peerset
-	latency metrics
-	testutil: use crand for PeerID gen
 	RandPeerID generates random "valid" peer IDs. it does not
 	NEED to generate keys because it is as if we lost the key
 	right away. fine to read some randomness and hash it. to
 	generate proper keys and an ID, use:
 	  sk, pk, _ := testutil.RandKeyPair()
 	  id, _ := peer.IDFromPublicKey(pk)
 	Also added RandPeerIDFatal helper
- removed old spipe
- updated seccat
- core: cleanup initIdentity
- removed old getFromPeerList
2014-12-23 08:33:32 -08:00
Juan Batiz-Benet
41751b4938 Integrated new network into ipfs 2014-12-16 14:47:29 -08:00