Commit Graph

116 Commits

Author SHA1 Message Date
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