Brian Warner
f950161642
rendezvous: rename stats keys for consistency
2016-06-26 17:49:36 -07:00
Brian Warner
cd934fdfde
server: rename stats.json keys
2016-06-26 17:49:35 -07:00
Brian Warner
44bc99e987
get_stats: update comments
2016-06-26 11:25:25 -07:00
Brian Warner
f192db5412
track+report mailbox.for_nameplate in usage
...
This counts the number of "standalone" mailboxes we create, which
happens when a client does open() without first using a nameplate. The
current client doesn't do this, but future clients might.
2016-06-26 11:19:53 -07:00
Brian Warner
7b1d4cbcee
more stats: count since last reboot
2016-06-26 11:01:52 -07:00
Brian Warner
9e29898207
Rendezvous: add many stats
2016-06-26 11:01:48 -07:00
Brian Warner
62f9a4d702
move stats-file up to RelayServer
...
This moves responsibility for the periodic prune-everything Timer up to
RelayServer too. That way we can be sure the stats are dumped
immediately after prune, and we can incorporate stats from Transit as
well.
2016-06-25 11:43:13 -07:00
Brian Warner
7f389dc76e
server: add --stats-file= scaffolding
...
no actual stats yet
2016-06-25 11:05:28 -07:00
Brian Warner
cfcd74db4b
remove listener on close too
...
This was failing to clean up after WrongPassword disconnects.
2016-06-24 18:57:49 -07:00
Brian Warner
6a2cbf9014
server: remove listeners on disconnect
...
This wasn't happening before, so channels were staying alive until
reboot.
2016-06-24 18:48:28 -07:00
Brian Warner
ffb1a9b9c9
change pruning algorithm
...
The new approach runs every 10 minutes and keeps a
nameplate/mailbox/messages "channel" alive if the mailbox has been
updated within 11 minutes, or if there has been an attached listener
within that time.
Also remove the "nameplates.updated" column. Now we only track "updated"
timestamps on the "mailboxes" table, and a new mailbox will preserve any
attached nameplate.
2016-06-24 17:35:23 -07:00
Brian Warner
6176500cf4
factor out Mailbox._touch
2016-06-24 16:35:30 -07:00
Brian Warner
0158df9b63
stop using is_active(), or pruning inactive apps
...
Unless/until people start writing new applications (with different
app-ids), this code is unlikely to get used very much, and the code is
simpler without it.
2016-06-24 16:31:00 -07:00
Brian Warner
08443ee288
rename Rendezvous.prune() to prune_all_apps
...
so grep can distinguish it from Mailbox.prune()
2016-06-24 16:30:55 -07:00
Brian Warner
b8521e81b1
add comment about new pruning plan
2016-06-24 16:26:42 -07:00
Brian Warner
404925d314
server: mailbox row should always exist
...
This makes the nameplate's "mailbox_id" into a foreign-key.
2016-06-24 16:02:37 -07:00
Brian Warner
41f229de87
use 'mailbox_sides' instead of cols in 'mailboxes'
2016-06-24 00:01:51 -07:00
Brian Warner
6c725e4a86
db: use 'nameplate_sides' instead of cols in 'nameplates'
2016-06-23 18:27:26 -07:00
Brian Warner
74a1902fcd
schema: add v3, rename nameplates.id to .name
2016-06-23 18:27:26 -07:00
laharah
8537d90527
u""
cleanup on rendezvous.py
2016-06-04 14:09:19 -07:00
laharah
6a73d50fdd
added unicode_literals import to all apropriate modules
...
bug in twisted serverFromString prevents test.common and transit
from using unicode properly should revisit if twisted gets patched
2016-06-04 12:42:59 -07:00
Brian Warner
a8c2fb14b1
expire channels faster: 2 hours, not 3 days
...
With increased usage, I'm seeing a buildup of stale channels. Since the
channels aren't properly ephemeral yet (where they get closed as soon as
the last subscriber disconnects), clients which terminate without
calling close() tend to leave the channel lying around. We don't have
"persistent wormholes" yet, so channels should be much more ephemeral
than they currently are.
2016-06-03 16:23:28 -07:00
Brian Warner
5fe7d320ab
oops, pass blur_usage to apps properly, add tests
2016-05-27 18:44:41 -07:00
Brian Warner
eebc9ebd54
rewrite pruning, add full tests
...
Apparently it was broken: the first time the LoopingCall fired, it would
throw an exception, and never try again. Now it should be fixed.
2016-05-27 18:42:17 -07:00
Brian Warner
0b3863fb52
remove dead code
2016-05-27 18:41:34 -07:00
Brian Warner
181ef04a91
break out more message components, use SidedMessage
2016-05-20 16:39:59 -07:00
Brian Warner
3b86571de3
fix py3
2016-05-20 12:12:07 -07:00
Brian Warner
f044ef0efa
tests almost good
2016-05-19 23:50:22 -07:00
Brian Warner
335ed00cb7
build out tests
2016-05-19 19:55:11 -07:00
Brian Warner
e39a8291e3
checkpointing: server roughed out
2016-05-19 18:09:17 -07:00
Brian Warner
0e72422ffa
WIP
2016-05-19 14:18:49 -07:00
Brian Warner
5994eb11d4
WIP new proto
2016-05-18 00:16:46 -07:00
Brian Warner
2ea5d96290
Channels don't need "welcome" anymore
2016-05-17 17:35:44 -07:00
Brian Warner
1198977e06
SCHEMA CHANGE: channelids are now strs, not ints
...
This will enable the use of large randomly-generated hex or base32
channelids, for post-startup or resumed-connection channels.
2016-05-13 00:37:53 -07:00
Brian Warner
85dc0fd41b
change server API: "release" instead of "deallocate"
2016-05-12 17:46:15 -07:00
Brian Warner
bdc9066c23
rendezvous: change add_listener signature
...
Pass in a handle and a pair of functions, rather than an object with two
well-known methods. This should make it easier to subscribe to multiple
channels in the future.
2016-05-12 17:03:57 -07:00
Brian Warner
644c7c6840
DB schema change: add/store/return msgid
...
This enables dump-timing to correlate sender logs with receiver logs.
2016-05-06 18:29:58 -07:00
Brian Warner
d2dfc325d8
deliver stored server_rx to clients
...
This enables the "dump-timing" tools to display more information.
2016-05-06 18:29:58 -07:00
Brian Warner
d9ba55621b
Channel.add_message(server_rx=): add new arg
2016-05-06 18:29:58 -07:00
Brian Warner
fe2dfc1a35
DB schema change: rename 'when' to 'server_rx'
2016-05-06 18:29:58 -07:00
Brian Warner
a671982ab0
rdv: add comment
2016-05-05 19:13:05 -07:00
Brian Warner
cfbd418898
rendezvous: minor refactoring
2016-05-05 18:21:06 -07:00
Brian Warner
ec13404fca
unsplit wormhole_server step 1: move files
2016-04-20 19:15:33 -07:00