Thomas Adamcik
34cd3008d9
Extract gobject/network code to new Client class
...
This implies that the Server class is in charge of just listening and starting
up new clients. Clients are expected to run in the event loop thread, so they
only deal with minimal IO/network concerns. Each client has a protocol actor
that does the actual work.
2011-07-09 22:44:11 +02:00
Thomas Adamcik
22ebb1bc29
Move recv code to LineProtocol and add source removal
...
Fixes problem where timed out sockets where not being removed from event loop
causing excess CPU usage.
2011-07-09 14:28:35 +02:00
Thomas Adamcik
cdb68d61f5
Use timeout_add_seconds which is less accurate but more efficient
2011-07-09 00:47:10 +02:00
Thomas Adamcik
7f77fe38d5
Add timeout support to LineProtocol
2011-07-08 00:28:01 +02:00
Thomas Adamcik
63244b9af8
Limit number of allowed connections
2011-07-08 00:09:45 +02:00
Thomas Adamcik
8cc1aa07d9
Forgot to include errno
2011-07-08 00:07:14 +02:00
Thomas Adamcik
26155d1d40
Fix s/listener/server/ in docs
2011-07-07 23:57:20 +02:00
Thomas Adamcik
7c2ccbbaa1
Document attributes correctly
2011-07-07 23:55:54 +02:00
Thomas Adamcik
12633e0d4a
Add log_error to LineProtocol
2011-07-07 23:52:38 +02:00
Thomas Adamcik
2449308758
Use re for finding terminator and splitting as it does not assume unicode
2011-07-07 23:47:28 +02:00
Thomas Adamcik
4cd6f5f66c
Switch to lock based protection of send buffer, queue use was flawed
2011-07-07 21:53:08 +02:00
Thomas Adamcik
a0f6ba7dc4
Switch to thread safe send queue and use event loop to send data
2011-07-06 00:23:54 +02:00
Thomas Adamcik
52087bd5b4
Cleanup recv code a bit
2011-07-06 00:23:18 +02:00
Thomas Adamcik
a12e9779e3
Add some better error handling for accept call
2011-07-05 23:47:23 +02:00
Thomas Adamcik
cb2f0df5d6
Extract logging of raw data to method
2011-07-05 01:13:12 +02:00
Thomas Adamcik
79e46ab4fa
Rename listemer to server
2011-07-05 00:56:29 +02:00
Thomas Adamcik
b311e42840
Try to document new server helper
2011-07-05 00:55:35 +02:00
Thomas Adamcik
3053ba09e0
Typo fix :)
2011-07-04 21:13:46 +02:00
Thomas Adamcik
9a8f3a141c
Misplaced text in log message
2011-07-04 21:09:21 +02:00
Thomas Adamcik
c7617e150a
Decode incomming data
2011-07-04 21:08:49 +02:00
Thomas Adamcik
ab653b7539
Fix comments from pull-request
2011-07-04 10:33:59 +02:00
Thomas Adamcik
75984dda6a
Merge branch 'develop' into feature/glib-loop
...
Conflicts:
mopidy/core.py
mopidy/frontends/mpd/__init__.py
2011-07-04 00:31:18 +02:00
Thomas Adamcik
921d804dde
Fix minor code style issues
2011-07-04 00:28:52 +02:00
Thomas Adamcik
dd0082b59e
Rewrite to explicit stopping of actors
2011-07-04 00:16:18 +02:00
Thomas Adamcik
77c140f466
More low-level debug logging
2011-07-03 22:38:16 +02:00
Thomas Adamcik
b3e2e13a8d
sock.accept() on IPv6 systems is different
2011-07-03 22:37:45 +02:00
Thomas Adamcik
14a7a9bd80
Get rid of GObjectEventThread
2011-06-22 03:00:30 +02:00
Thomas Adamcik
54f09b0157
Rewrite of client part of listener - takes into account that we will be implementing idle
2011-06-22 02:49:02 +02:00
Thomas Adamcik
74aa96b300
Moved mpd session to mopidy.frontends.mpd
2011-06-17 01:44:22 +02:00
Thomas Adamcik
9df16e0716
Get rid of custom async client code in favour of blocking IOChannel in ThreadingActors
2011-06-17 00:01:55 +02:00
Thomas Adamcik
b8ae79038f
Merge branch 'develop' into feature/glib-loop
2011-06-16 23:20:06 +02:00
Thomas Adamcik
24dbba2fa9
Switch to async globject based loop
2011-06-16 23:17:37 +02:00
Stein Magnus Jodal
6a77922905
Ask about missing settings in alphabetic order
2011-06-15 22:19:41 +02:00
Thomas Adamcik
49f39977ec
Merge branch 'develop' into feature/glib-loop
...
Conflicts:
mopidy/frontends/mpd/server.py
2011-06-14 01:12:38 +02:00
Thomas Adamcik
e6652f0a0a
Merge pull request #108 from jodal/feature/clean-early-shutdown
...
feature/clean-early-shutdown
2011-06-11 04:06:00 -07:00
Stein Magnus Jodal
c0a39afa31
Do not interactively ask for settings when they are already set locally
2011-06-10 14:30:32 +02:00
Stein Magnus Jodal
2453e6826f
Add exit_process() function for shutting down Mopidy instead of ActorRegistry.stop_all()
2011-06-10 14:17:29 +02:00
Stein Magnus Jodal
fbc47a041a
Add more debug logging to stop_all_actors
2011-06-10 14:15:17 +02:00
Stein Magnus Jodal
f8965e053b
Register SIGTERM handler
2011-06-10 00:34:06 +02:00
Stein Magnus Jodal
3cdf1aa35d
Add util function for stopping all actors which also tries to stop actors that was started after the function was called
2011-06-10 00:33:14 +02:00
Johannes Knutsen
5e0a85c1b6
Get encoding from sys module directly instead of getpass.sys
2011-06-09 20:38:52 +02:00
Johannes Knutsen
c31db04979
Move private methods to be closer it's caller
2011-06-09 20:08:50 +02:00
Johannes Knutsen
efa38d2449
Read interactive settings optional by adding --interactive option
2011-06-09 20:04:13 +02:00
Johannes Knutsen
8d240ea686
Read missing local settings from stdin by default
2011-06-09 20:04:13 +02:00
Stein Magnus Jodal
2321550079
Fix import cycle
2011-06-09 17:35:22 +02:00
Johannes Knutsen
e97b32d041
rename SPOTIFY_HIGH_BITRATE setting to SPOTIFY_BITRATE, and use actual bitrate value to define preferred bitrate
2011-06-09 17:18:35 +02:00
Thomas Adamcik
387d72ef67
Remove self.set_reuse_addr from asyncore code
2011-06-07 16:12:04 +02:00
Thomas Adamcik
6575dafcb9
Merge branch 'develop' into feature/extract-socket-code
2011-06-07 15:51:34 +02:00
Thomas Adamcik
d664c11e22
Pull network related functions out of mopidy.frontends.mpd.server
2011-06-07 14:09:15 +02:00
Stein Magnus Jodal
3b27ba4746
Catch and log ActorDeadError in BaseThread
2011-05-25 23:06:15 +02:00