diff options
author | Max Ogden <max@maxogden.com> | 2016-05-08 13:53:37 +0200 |
---|---|---|
committer | Max Ogden <max@maxogden.com> | 2016-05-08 13:53:37 +0200 |
commit | 22c75baea185200cb0032adc76f0f33448a3f2aa (patch) | |
tree | c6d8bcb3d07656d8bab346e7866738c8ba24b120 /how-dat-works.md | |
parent | f8f12c6de61270d587089256f62b3114cf29aa1f (diff) | |
download | dat-docs-22c75baea185200cb0032adc76f0f33448a3f2aa.tar.gz dat-docs-22c75baea185200cb0032adc76f0f33448a3f2aa.zip |
more sections of paper
Diffstat (limited to 'how-dat-works.md')
-rw-r--r-- | how-dat-works.md | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/how-dat-works.md b/how-dat-works.md index 0e76667..9921f62 100644 --- a/how-dat-works.md +++ b/how-dat-works.md @@ -20,7 +20,7 @@ The discovery logic itself is handled by a module that we wrote called [discover Up until this point we have just done searches to find who has the data we need. Now that we know who should talk to, we have to connect to them. We use either [TCP](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) or [UTP](https://en.wikipedia.org/wiki/Micro_Transport_Protocol) sockets for the actual peer to peer connections. UTP is nice because it is designed to *not* take up all available bandwidth on a network (e.g. so that other people sharing your wifi can still use the Internet). We then layer on our own file sharing protocol on top, called [Hypercore](https://github.com/mafintosh/hypercore). We also are working on WebRTC support so we can incorporate Browser and Electron clients for some really open web use cases. -When we get the IP and port for a potential source we try to connect using all available protocols (currently TCP and sometimes UTP) and hope one works. If one connects first, we abort the other ones. If none connect, we try again until we decide that source is offline or unavailable to use and we stop trying to connect to them. Sources we are able to connect to go into a list of known good source, so that if our Internet connection goes down we can use that list to reconnect to our good sources again quickly. +When we get the IP and port for a potential source we try to connect using all available protocols (currently TCP and sometimes UTP) and hope one works. If one connects first, we abort the other ones. If none connect, we try again until we decide that source is offline or unavailable to use and we stop trying to connect to them. Sources we are able to connect to go into a list of known good sources, so that if our Internet connection goes down we can use that list to reconnect to our good sources again quickly. If we get a lot of potential sources we pick a handful at random to try and connect to and keep the rest around as additional sources to use later in case we decide we need more sources. A lot of these are parameters that we can tune for different scenarios later, but have started with some best guesses as defaults. |