Jeremy Lakeman
15ad333195
Implicitly buffer all writes to database blobs
2013-07-18 17:04:12 +09:30
Jeremy Lakeman
a4bf4edbfc
Write out of order packets with MDP transport
...
- add random order writing to rhizome store API
- remove rhizome flush, force all callers to provide buffer
2013-07-17 16:57:59 +09:30
Jeremy Lakeman
ea2e55c62c
Simplify state code for swapping to MDP transfer
2013-07-16 15:38:00 +09:30
Jeremy Lakeman
3855ff35c4
Clean up string formatting for 64bit compilation
2013-07-15 09:59:24 +09:30
Jeremy Lakeman
8ac359e550
Use consistent integer types for 64bit compilation
2013-07-13 14:47:06 +09:30
Jeremy Lakeman
add895fd97
Close manifest leak
2013-07-11 13:52:38 +09:30
Jeremy Lakeman
a1ac7febe2
Add rhizome fetch status html page
2013-07-11 12:32:06 +09:30
Jeremy Lakeman
8249f65f8f
Don't create unused import folder
2013-07-03 10:54:05 +09:30
Jeremy Lakeman
96f6453a43
Don't attempt to read unless the descriptor is ready
2013-06-20 11:18:20 +09:30
Jeremy Lakeman
ceb3c17b70
Perform cheap in-memory tests first, before starting fetch
2013-06-20 11:10:02 +09:30
Jeremy Lakeman
3e57add9ca
Fix, initialise read / write handles so we don't close fd=0
2013-06-19 12:05:56 +09:30
Jeremy Lakeman
96c0889f9a
Don't ask for manifests if we don't have room in transfer queues
2013-04-11 15:24:41 +09:30
Andrew Bettison
157fe3f1d6
Fix Solaris SEGV bug: null pointer passed to sprintf()
2013-03-06 12:56:41 +10:30
Jeremy Lakeman
4cdd3da77f
Add config option to disable fetching via rhizome
2013-03-05 10:56:20 +10:30
Jeremy Lakeman
73786bcb5d
Refactor all rhizome reading and writing
...
- The API in rhizome_store.c is used for all reading and writing
- external storage is now usable for all transport options
2013-02-20 16:18:59 +10:30
gardners
5a3dec28d9
make rhizome over mdp idle timeout configurable at runtime.
2013-02-20 16:18:57 +10:30
gardners
a23612428b
make rhizome over mdp block size configurable.
...
1K seems too big to be reliable on our prototype UHF radio links,
as CRCs fail almost all the time. #48
2013-02-20 16:18:57 +10:30
gardners
2252fdcaa7
created tool for automatically finding IN()s without matching
...
OUT()s or where return() is used instead of RETURN().
Added OUT() to end of all functions using IN() that lacked it to
make it easier to statically analyse this invariant.
Fixed several return instead of RETURNs detected through use of
this tool. #49
2013-02-20 16:18:56 +10:30
gardners
641d749ab4
Create files for large rhizome bundles
...
- configurable size threashold
2013-02-20 15:36:32 +10:30
gardners
0ac403717d
improve rhizome mdp re-request timeout handling so that it doesn't
...
do amazingly bad things on low-bandwidth packet radio links.
2013-02-20 15:36:31 +10:30
gardners
34bf9127a1
make rhizome transfer timeouts consistent.
2013-02-20 15:36:31 +10:30
gardners
f465f3a9ee
Add lots of profiling to assist in debugging
...
- made some debug output conditional.
- make it possible to debug slip decoding without getting swamped by other output.
- Improve reporting of unnamed schedule() calls.
- always collect performance statistics, and report on any excess
use (>1sec in every 3), even if debug.timing is not enabled.
- include file size information in Rhizome transfer messages.
- reduce output when debug.rhizome_rx is set.
2013-02-20 15:36:30 +10:30
gardners
e551017896
push profiling down deeper into rhizome_fetch_poll()'s children.
2013-02-20 15:36:29 +10:30
gardners
17ea1b69b3
don't look at all BARs if we are too slow.
2013-02-20 15:36:29 +10:30
gardners
f114e6d19e
add progress data for each rhizome transfer.
2013-02-20 15:36:28 +10:30
gardners
3bd4c49af5
add more info to /rssi http page.
2013-02-20 15:36:27 +10:30
Jeremy Lakeman
ca5eb7d8bb
Reinstate simple slip code, improve debug messages
2013-02-20 15:36:27 +10:30
Jeremy Lakeman
e4d6520c46
Don't request manifests that are already in the fetch queue
2013-02-20 15:36:25 +10:30
Jeremy Lakeman
6d9bbe2e2c
Refactor interface handling to separate encapsulation from stream type
2013-02-20 15:36:23 +10:30
Jeremy Lakeman
ba1800012e
Only advertise BAR's on an alarm
...
- we no longer hit the database for every outgoing packet, attempting to announce bundles
- we no longer advertise manifests periodically
- when an interesting bar arrives, we ask for the manifest to be announced, which uses the existing packet format
2013-02-20 15:36:23 +10:30
Jeremy Lakeman
84ad4debfa
Throttle serial radio devices when tx buffer is in use
2013-02-20 15:36:22 +10:30
Jeremy Lakeman
2967d1e00f
Don't check for duplicates if an existing id has been supplied
2013-01-03 11:18:30 +10:30
Jeremy Lakeman
a492c05d64
Re-add database cleanup
2012-12-31 15:09:12 +10:30
Jeremy Lakeman
3f45623d04
New stress test, rhizome add while transferring
2012-12-27 16:51:31 +10:30
Jeremy Lakeman
0f81c1f641
Minor code cleanup
2012-12-14 17:07:28 +10:30
Jeremy Lakeman
4264dec978
Reduce logging
2012-12-12 13:18:19 +10:30
Jeremy Lakeman
1a26a3e452
Reduce log spam
2012-12-12 10:02:43 +10:30
Andrew Bettison
5985df751d
Overhaul debug flags
...
Replace debugflags_t and DEBUG_XXX bit masks with config schema "debug.xxx"
entries.
No more support for "debug.all".
2012-12-11 15:59:46 +10:30
Jeremy Lakeman
4b73e42bed
Merge remote-tracking branch 'origin/master' into rhizomeovermdp
...
Conflicts:
rhizome_fetch.c
2012-12-06 13:27:04 +10:30
Jeremy Lakeman
59babd75a2
Fix SEGV if connect fails immediately
2012-12-06 10:35:20 +10:30
gardners
e8cfac1462
don't try mdp fall back when performing an http rhizome direct transfer.
2012-12-06 09:42:27 +10:30
gardners
e2cf0ff506
fixed bug with rhizome direct sync manifest fetching.
2012-12-06 09:31:41 +10:30
gardners
5416e4baca
fixed bugs that were preventing writing to database blob from
...
buffer. Increased maximum buffer size to useful size.
2012-12-04 17:26:47 +10:30
gardners
39f99da3f2
fixing various bugs with rhizome streaming to database.
2012-12-04 17:18:31 +10:30
Jeremy Lakeman
6a5efcc445
Remove buggy debug code
2012-12-04 16:50:27 +10:30
gardners
f827c7c1c8
fixed various problems following split of files into fileblobs
2012-12-04 16:47:45 +10:30
Jeremy Lakeman
33e44ed6be
Don't unwatch if the file descriptor is already closed
2012-12-04 16:30:01 +10:30
gardners
6dfe654ab0
adjusted tuning of Rhizome over MDP to use 32x1KB packets for
...
better throughput. Still sub-optimal for wired ethernet type
interfaces, but should be ok for WiFi where max broadcast throughput
is 100kb/sec.
2012-12-04 16:19:22 +10:30
Jeremy Lakeman
bd83c192bb
Use consistent length constant
2012-12-04 16:18:51 +10:30
gardners
fc0c134cbf
added speed indication on completion of rhizome transfer.
...
split files table into files and fileblobs to avoid pathological
delays when updating datavalid flag in files table (sqlite copies
the whole table row, including possibly large blob).
2012-12-04 16:03:56 +10:30