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
5c819fce7e
Get rid of fprintf(stderr,...) in overlay.c
...
Replace with calls to DEBUGF() etc.
2012-06-25 16:32:52 +09:30
d579693f3d
added stats generation and summarisation to take place of older
...
excessively chatty timing gathering.
2012-06-25 14:35:55 +09:30
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
895b5873f0
fixed bug cpu time wasting bug for dummynets.
2012-06-22 16:06:46 +09:30
6472ff29c1
fixed monitor interface problem with new event scheduler.
2012-06-22 16:06:46 +09:30
91bccec71d
various fixes related to event scheduler.
...
server main loop is now just fd_poll()
2012-06-22 16:05:50 +09:30
f0ed4b2e52
debugging and related improvements for new event scheduler.
2012-06-22 16:05:50 +09:30
ae9e80fdce
added missing file from previous commit.
...
formatting in overlay.c
2012-06-22 16:05:49 +09:30
5dc6d122a5
significant progress towards clean callback scheduler for poll()
...
events and timed callbacks.
2012-06-22 16:05:49 +09:30
2d718a297f
reversed changes that broke DNA tests. Improved dnaprotocol
...
test script slightly.
2012-06-21 17:02:36 +09:30
50eaeca51a
added sanity checking of poll timeout to prevent infinite wait
...
if any ticks are overdue (this whole thing will be revamped soon
to be simpler and more efficient, so this is a temporary solution).
2012-06-21 16:36:37 +09:30
926d4296c4
Added overall timer for main loop, minor tweaks to order and freq. of processes
2012-06-21 11:33:43 +09:30
6023cd4da2
moved timing check definitions to serval.h
2012-06-21 11:33:42 +09:30
0dd5845cdd
added instrumentation to detect when servald spends more than 5ms doing
...
anything. Reports which bit of the overlay mesh main loop the time was
spent in, to help track it down.
2012-06-15 15:13:45 +09:30
d0e0864b0c
Fix comment to be correct.
2012-06-15 15:09:21 +09:30
e319b146a6
cleaned up some debugging.
2012-05-22 15:57:19 +09:30
d2c811b4b4
further rhizome voice traffic detection hooks.
2012-05-22 14:15:19 +09:30
f90b21ec78
Implement rhizome config options
...
rhizome.datastore_path - if not set, reverts to serval instance path
rhizome.enable - if not set, defaults to true
2012-05-15 12:56:10 +09:30
e746557a08
Fix bug in overlay_gettime_ms()
...
The sequence start time was only getting set in overlay_interface_init(), which
was not always called, or was called after overlay_gettime_ms() had already
been used.
Added FATALF(), FATAL() and FATAL_perror() macros.
Removed a bunch of debug statements no longer needed in monitor.c and server.c.
2012-05-11 10:38:46 +09:30
881576212c
Fix all trivial compiler warnings
2012-05-10 18:08:59 +09:30
b15e5cfee7
Improve debugging/logging macros
...
Replace 'WHYRETNULL();' statements with 'return WHYNULL();'
Introduce DEBUG(), DEBUGF(), DEBUG_perror() and D macros
Add logMessage() and vlogMessage() functions
Implement setReason() using vlogMessage()
2012-05-10 12:53:57 +09:30
836f8332e8
Replace perror() with WHY_perror()
...
Puts more diagnostics to Android log
2012-05-08 14:53:34 +09:30
acc5e48f4f
Terminate server process if serval.pid clobbered
2012-05-08 11:23:43 +09:30
cbc367b1f5
Rewrite server start/status/stop commands
...
Now correctly probes for server process existence using kill(pid, 0)
Status command does not dump config (use "config get" instead)
Output uses JNI cli output fields
Stop command uses 5 Hz wakeup, not busy wait while server exits
2012-05-07 13:49:38 +09:30
25f81aeaaf
fixed bug with cancelling calls due to lack of listeners.
...
worked around poll() with accept() unix domain socket linux bug.
generally hooked in the unix domain stream socket interface for
monitoring calls (and later rhizome).
2012-05-03 03:37:03 +09:30
d637f31ab7
work towards stream unix domain socket to allow Android/Java
...
monitoring of call status and rhizome bundle arrivals.
2012-05-03 02:31:12 +09:30
c3fe7ee8e3
"id peers" now returns something!
2012-04-30 06:16:03 +09:30
03aa6cbf49
debugging output tweaks.
2012-04-30 06:01:34 +09:30
92baae2a89
hopefully fixed acking of self-announcement frames when no route
...
to node exists.
2012-04-28 18:09:58 +09:30
cd00204893
sending voice packets should now result in their being marked
...
as high priority (priority dispatch still outstanding).
2012-04-25 14:35:44 +09:30
dde520c465
forwarding frames preserves priority of voice packets.
...
voice packets now just need to be marked with the right priority...
2012-04-25 14:35:44 +09:30
9b409c2891
Got VoMP ticks to update call state running.
2012-04-21 21:21:26 +09:30
32ed614494
fixed remaining known issues with signed/crypted MDP such that
...
MDP ping now works, and provides appropriate responses from local
and remote hosts, and the SIGNED or SIGNED and CRYPTED status can
be observed.
2012-04-16 07:04:23 +09:30
e7e8b2d630
fixed bug in RFS size patching.
...
A lot of debug output tweaks to track the problem down.
2012-04-16 06:06:43 +09:30
2581e9fe4c
Revamped dequeuing of TXd frames.
...
Now almost works (queues don't stay full of junk), although
mdp ping still gets a duplicate reply for 2-hop pings.
2012-04-14 23:12:45 +09:30
79dc33b156
Work towards transparent decryption of MDP frames.
...
Runs, just gets an error during decryption, like as though
keys or nonce were wrong.
2012-04-14 12:17:46 +09:30
4a1e4eca55
fixed more bugs in duplicate broadcast quenching.
...
looks like it might be working right now.
2012-04-14 11:16:59 +09:30
3e2213db61
removed debugging output.
2012-04-14 10:58:31 +09:30
4e0c9bfd02
fixed logic errors in handling of nexthop and destination addresses
...
when receiving a frame and determining if it is broadcast etc.
(one major use case that has been fixed is broadcast nexthop, and
unicast destination, e.g., for link-local broadcast).
2012-04-14 10:54:48 +09:30
a71929bcd2
Removed some debugging output.
2012-04-14 07:42:43 +09:30
e636dcd0fc
Fixed handling of broadcast frames so that not-forwarding a broadcast
...
frame does not equate to not examining its contents ourselves.
2012-04-14 07:39:02 +09:30
2802a5c042
Fixed bug in dequeuing broadcast frames after they have been
...
sent via interfaces.
Also some debugging output added.
2012-04-14 06:31:30 +09:30
752a29c112
Fixed handling of duplicate broadcasts (they get dropped sooner).
...
There does seem to be something odd about the broadcast processing
still, as the BPIs change after resolving addresses.
Maybe when we send a broadcast out via multiple interfaces it
gets marked duplicate after sending to the first interface?
2012-04-14 04:33:01 +09:30
5ac83f9ca1
Replaced use of HLR with keyring for phone number lookups and
...
other functions. Not yet tested.
2012-04-13 09:25:03 +09:30
aa543e1766
Various fixes and work towards MDP ping working.
...
MDP clients can now request the set of local addresses.
Framework is improved to avoid info leaks by sending more bytes
in an MDP frame than are necessary, but without having to bzero
almost 2KB each time.
2012-03-27 19:25:38 +10:30
d8f7f27bad
Removed a debug statement.
2012-03-21 13:00:24 +10:30
70497df7b5
More work on MDP. Removed some debug fluff.
...
Added framework for MDP ping, and some work towards MDP port binding
and sending packets with option to wait for reply. MDP server
doesn't yet support port binding, and client doesn't yet support
reading replies.
2012-03-19 16:06:34 +10:30
f384e6ea79
Further preparatory work for MDP. Next stop is actually checking
...
for inbound MDP connection requests on the unix domain sockets.
2012-03-17 13:02:09 +10:30
872c14df3f
Added initial hook to handle MDP frames.
2012-03-17 09:28:49 +10:30