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
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
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
Andrew Bettison
f66a894a63
Improve keyring PIN handling
...
Replace explicit [<pin,pin...>] command-line arguments with --entry-pin=<pin>
options. Update test scripts accordlingly.
Add --keyring-pin=<pin> option (with one test case).
2013-02-13 16:49:52 +10:30
Andrew Bettison
8d5862d599
Server daemon reloads config every 1 sec
2012-12-14 16:48:12 +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
2b21a691ca
Merge remote-tracking branch 'origin/master' into packet_format
...
Conflicts:
constants.h
packetformats.c
2012-12-03 14:10:32 +10:30
gardners
b91e832ad7
added improved control of rhizome http and mdp servers via
...
separate config options with their own predicate functions.
2012-11-30 14:47:27 +10:30
Jeremy Lakeman
4ca6db34d6
Encapsulate payload header details
2012-11-28 15:40:39 +10:30
Jeremy Lakeman
36cee7e9bc
Move payload queueing functions to separate .c file
2012-11-21 11:02:00 +10:30
Jeremy Lakeman
de95bb3971
Gracefully disable rhizome if the database cannot be opened
...
- close database after every command line operation
- don't cache rhizome enabled configuration
- don't send advertisements unless the database is open and the web server is running
- don't provess advertisements unless the database is open
2012-10-29 13:05:03 +10:30
Andrew Bettison
39fc4ce6de
Issue #30 , remove periodic Rhizome fetch alarm
...
Replace the main-loop scheduled periodic alarm with an "activate" alarm that is
scheduled whenever a fetch candidate is added to any queue, unless the alarm is
already scheduled.
Replace the "rhizome.fetch_interval_ms" config item with
"rhizome.fetch_delay_ms" [default 50], which is the number of milliseconds
between adding a fetch candidate and firing the "activate" alarm. This allows
time for a few more Rhizome advertisment packets to arrive after the first one,
before deciding which fetches to start first.
Add new `is_scheduled()` alarm primitive.
2012-10-24 15:13:50 +10:30
Andrew Bettison
a9d3a1387c
Issue #30 , rewrite Rhizome fetch queues and slots
...
Causes SEGV in rhizomestress test.
2012-10-23 18:10:20 +10:30
Jeremy Lakeman
2bef619723
Fix - make sure we don't lose track of scheduled alarms
2012-10-16 14:54:28 +10:30
Jeremy Lakeman
1f379ea209
Add and preserve QOS bit flags in packet header
2012-10-09 16:17:07 +10:30
Andrew Bettison
89343c69cd
Merge branch 'rhizomedirect' into 'master'
2012-10-05 17:45:30 +09:30
Jeremy Lakeman
7c73ca7a78
Finish test and implementation of directory service
2012-09-18 12:30:15 +09:30
Jeremy Lakeman
e854409e0b
Start dna helper immediately (it's convenient for starting another service)
2012-09-18 12:24:33 +09:30
Jeremy Lakeman
545c05fddb
Relay broadcast payloads via olsr plugin
2012-09-01 12:41:50 +09:30
Jeremy Lakeman
e05806f25e
Separate routing calculation from resulting rules, refactor more code to use subscriber structure
2012-08-31 15:11:18 +09:30
Jeremy Lakeman
f6c899e107
Refactor overlay buffer interface to support simple parsing
2012-08-31 15:03:07 +09:30
Jeremy Lakeman
22c6b530ed
Rework broadcast address handling, working towards a unified address struct
2012-08-31 15:03:07 +09:30
Jeremy Lakeman
aa5706f9d7
Refactor routing node information to use new subscriber tree
2012-08-31 15:03:07 +09:30
Jeremy Lakeman
30d5ed2b6d
Simple refactoring
2012-08-31 15:03:07 +09:30
gardners
9d2aa61792
Refactoring of Rhizome http server code so that we can supply a
...
different request parser, but otherwise share code between
rhizome transfers and rhizome direct. #9
2012-08-31 13:01:28 +09:30
gardners
bde9d1c56a
Rhizome http server now allows specification of client socket callback
...
when starting, so that same server code can be shared for rhizome transfers
and rhizome direct. #9
2012-08-31 13:01:28 +09:30
Andrew Bettison
12d8bc0c12
Use new typedef time_ms_t everywhere
2012-08-09 12:14:32 +09:30
Andrew Bettison
240be25793
Replace overlay_gettime_ms() with gettime_ms()
2012-07-30 17:22:38 +09:30
Jeremy Lakeman
5ec739c712
Add performance timing debug option
2012-07-25 13:33:30 +09:30
Jeremy Lakeman
ddba8033e4
Refactor packet envelope and sid abbreviation reading and writing
2012-07-17 15:30:50 +09:30
Jeremy Lakeman
5e915bcc09
Schedule packet sending
2012-07-13 12:18:50 +09:30
Jeremy Lakeman
d36ba78afe
Refactor packet construction and sending
2012-07-13 12:18:50 +09:30
Jeremy Lakeman
27c24f377e
Add deadline time for alarm prioritisation
2012-07-13 12:18:45 +09:30
Jeremy Lakeman
35b4ba8594
Schedule interface ticks per interface
2012-07-13 12:13:46 +09:30
Andrew Bettison
ff2c98afb3
Add "rhizome.fetch_interval_ms" config option
2012-07-11 16:51:30 +09:30
Andrew Bettison
72769e162b
Replace overlay_render_sid_prefix() with alloca_tohex()
...
To eliminate timebomb bugs caused by rotor wraparound
2012-07-04 10:30:46 +09:30
Andrew Bettison
2c87039307
Replace overlay_render_sid() with alloca_tohex_sid()
...
To eliminate timebomb bugs caused by rotor wraparound
2012-07-03 17:59:30 +09:30
Jeremy Lakeman
3d39e92628
Setup scheduled alarm per vomp call and send keep alives
2012-07-03 15:50:05 +09:30
Andrew Bettison
8020ea3b74
Merge branch 'eventscheduler' into master
...
Conflicts:
commandline.c
monitor.c
overlay.c
overlay_interface.c
overlay_packetformats.c
rhizome_fetch.c
rhizome_http.c
rhizome_packetformats.c
serval.h
server.c
testdefs.sh
testframework.sh
tests/dnaprotocol
tests/server
2012-07-03 10:26:22 +09:30
Jeremy Lakeman
132d3a6f9b
rename profiling structure
2012-07-02 16:04:00 +09:30
Jeremy Lakeman
e705696896
separate statistics gathering from the scheduler structure
2012-07-02 15:20:30 +09:30
Jeremy Lakeman
89566e4d3d
Refactor how functions are scheduled or file handes are watched
2012-07-02 13:19:54 +09:30
gardners
97cd8f5255
added code to time various servald functions and report periodic
...
statistics. Handles nested calls to correctly aportion call time
among children.
2012-06-26 09:22:51 +09:30
Andrew Bettison
5c819fce7e
Get rid of fprintf(stderr,...) in overlay.c
...
Replace with calls to DEBUGF() etc.
2012-06-25 16:32:52 +09:30
gardners
d579693f3d
added stats generation and summarisation to take place of older
...
excessively chatty timing gathering.
2012-06-25 14:35:55 +09:30
gardners
3b6a004cc9
new event scheduler almost working, but after a while can stop
...
calling overlay_check_ticks alarm for some reason, which causes
queues to congest and bad things to generally happen.
2012-06-22 17:30:21 +09:30
gardners
895b5873f0
fixed bug cpu time wasting bug for dummynets.
2012-06-22 16:06:46 +09:30
gardners
6472ff29c1
fixed monitor interface problem with new event scheduler.
2012-06-22 16:06:46 +09:30
gardners
91bccec71d
various fixes related to event scheduler.
...
server main loop is now just fd_poll()
2012-06-22 16:05:50 +09:30
gardners
f0ed4b2e52
debugging and related improvements for new event scheduler.
2012-06-22 16:05:50 +09:30