Commit Graph

2154 Commits

Author SHA1 Message Date
Andrew Bettison
390655580d Add 'rhizome delete' and 'rhizome clean' commands
sqlite_void_exec() and its ilk now return the count of changed rows, not
just zero, on success

sqlite_exec_prepared() and its ilk now return the count of rows (number
of step results SQLITE_ROW), instead of just zero, on success

rhizome_clean() function now produces an optional report of its changes

rhizome_fail_write() and rhizome_finish_write() now log WARNings not
ERRORs if the SQL DELETE FROM FILES or DELETE FROM FILEBLOBS statements
fail

Refactor rhizome_open_read() to use sqlite_exec_int64()

Ensure that 'rhizome extract' and 'rhizome dump' commands return exit
status of 1 in "not found" conditions, not 255, which is reserved for
errors

Test cases for four new commands: 'rhizome delete bundle', 'rhizome
delete manifest', 'rhizome delete payload' and 'rhizome delete file'
(no test case for 'rhizome clean' yet)
2013-02-20 15:37:09 +10:30
gardners
2bbdd523f0 increase size for unix domain socket pathname from arbitrary 100
to PATH_MAX to solve tests erroring out on OSX with long temporary
file names.
2013-02-20 15:36:32 +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
c6354a5288 always show sign when displaying link budget. 2013-02-20 15:36:31 +10:30
gardners
34bf9127a1 make rhizome transfer timeouts consistent. 2013-02-20 15:36:31 +10:30
gardners
f681356f52 reformat /rssi web page to better fit on phone screens. 2013-02-20 15:36:31 +10:30
gardners
41dedb5e24 fixed two actual bugs in upper7_decode() 2013-02-20 15:36:31 +10:30
gardners
71ac161dd3 fix segfault bug in slip decoding. 2013-02-20 15:36:31 +10:30
gardners
7cc4324ac6 added facility to log a clue for crash handler to hint where things
got stuck/caused a crash.
2013-02-20 15:36:31 +10:30
gardners
d593b569c1 improve reporting of broken manifests, and make conditional on
debug.rejecteddata
2013-02-20 15:36:30 +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
80168e3530 Improve debug logging
- add debug.trace to help track down segfaults
- warn about alarms without names (which are then hard to track down).
2013-02-20 15:36:30 +10:30
gardners
1e76772c3a print a back trace whenever any signal is received. 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
60015a1aee keep HTTP server running when rhizome over http is disabled, but
don't serve and rhizome requests.
2013-02-20 15:36:29 +10:30
gardners
506ceea309 log when BAR lookups are slow. 2013-02-20 15:36:29 +10:30
gardners
83625198cb tweak BAR lookup filter in light of packets arriving with 20 BARs
at a time, which can take 4seconds(!) to process on a WR703N.
2013-02-20 15:36:29 +10:30
gardners
8befcf7c11 create indexes for ID and VERSION on MANIFESTS table to reduce the
time it takes to lookup whether BARs are interesting.
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
Jeremy Lakeman
d80b5a0c8d Prevent sending probe packets to invalid addresses 2013-02-20 15:36:28 +10:30
Jeremy Lakeman
eeb7fb7f9b Reinitialise an interface when it comes back up 2013-02-20 15:36:28 +10:30
Jeremy Lakeman
748a2d8957 Squelch log messages 2013-02-20 15:36:28 +10:30
gardners
f114e6d19e add progress data for each rhizome transfer. 2013-02-20 15:36:28 +10:30
gardners
d49649ed96 add stored bundle count to /rssi web page display. 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
gardners
d251f46638 add SID to rssi display 2013-02-20 15:36:27 +10:30
gardners
b9c924c5fe make rssi web page text really big for small phone screens. 2013-02-20 15:36:27 +10:30
gardners
66956d84ce add /rssi page to rhizome web server to allow easy querying of
radio link budget.
2013-02-20 15:36:27 +10:30
gardners
610f7acdf8 fixed test for malformed packets. 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
2d566dbd5b Fix fake radio 2013-02-20 15:36:26 +10:30
gardners
80a5feb76a show rejected packets iff debug.rejecteddata set 2013-02-20 15:36:26 +10:30
gardners
042cfc3fa1 add debug.rejecteddata option for reporting bad packets/manifests
etc.
2013-02-20 15:36:26 +10:30
gardners
6a620fe221 added command line test for serial encapsulation.
renamed "crypt test" to "test crypt" for consistency.
2013-02-20 15:36:26 +10:30
Jeremy Lakeman
ed7912295a Use correct variable size for crc's 2013-02-20 15:36:26 +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
2193d8fb74 Process incoming stream packets 2013-02-20 15:36:25 +10:30
gardners
4d674d06b9 improved debugging arrangements for packetradio. 2013-02-20 15:36:25 +10:30
gardners
b79e8261d5 added missing crc32.c and fixed indenting in slip.c 2013-02-20 15:36:25 +10:30
gardners
5b26cabee3 fixed bugs in UPPER7 SLIP encapsulation.
Improved debugging of the same.
2013-02-20 15:36:25 +10:30
gardners
b5939f8967 display packet radio link budget periodically, even when debugging
disabled.
2013-02-20 15:36:24 +10:30
gardners
fea06932e5 added new slip.c with 7-bit-high packet encapsulation, packet length
and CRC32.
Also added in-line RSSI report reception for RFD900 radios.
2013-02-20 15:36:24 +10:30
gardners
a42c685715 don't complain if packet radio interface doesn't support fseek(). 2013-02-20 15:36:24 +10:30
Jeremy Lakeman
f2025cd601 Configure rhizome announce interval 2013-02-20 15:36:24 +10:30
Jeremy Lakeman
45efb3f899 Add more raw options to serial interface 2013-02-20 15:36:24 +10:30
Jeremy Lakeman
6d9bbe2e2c Refactor interface handling to separate encapsulation from stream type 2013-02-20 15:36:23 +10:30
gardners
95f2ed3225 added simple fake radio driver with ~100ms latency. 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
c7caec488a Don't aggregate packets together on radio links 2013-02-20 15:36:23 +10:30