Skip to content
This repository has been archived by the owner on Nov 5, 2018. It is now read-only.

Latest commit

 

History

History
157 lines (157 loc) · 7.11 KB

todo.org

File metadata and controls

157 lines (157 loc) · 7.11 KB

Core

CANCELLED Figure out issues with TCP send not working on OS X until next packet sent

  • State “CANCELLED” from “TODO” [2012-12-23 Sun 18:39]
    Moved to zmq

Make plugins use zeromq and run as processes instead of being imported code

  • State “DONE” from “TODO” [2012-12-25 Tue 22:29]

Server should define identity for plugins

  • State “DONE” from “TODO” [2012-12-25 Tue 22:39]

Make plugins shutdown if main process crashes

  • State “DONE” from “TODO” [2013-03-01 Fri 18:32]

Move logging from prints to logging module

  • State “DONE” from “TODO” [2013-03-01 Fri 18:51]

Handle plugin count startup errors

  • State “DONE” from “TODO” [2013-03-01 Fri 19:10]

Cross platform cx-freeze testing

  • State “DONE” from “TODO” [2013-03-23 Sat 20:18]

Shorten function names for module scoped functions

  • State “DONE” from “TODO” [2013-03-23 Sat 20:18]

Handle plugin claim startup errors

  • State “DONE” from “TODO” [2013-03-23 Sat 20:20]

Have server do error handling if plugin device handling process doesn’t come up in time

  • State “DONE” from “TODO” [2013-03-23 Sat 20:24]

CANCELLED Figure out way to clear pyc’s properly

  • State “CANCELLED” from “TODO” [2013-03-23 Sat 20:28]

Write command line arguments and config file parsing

  • State “DONE” from “TODO” [2013-03-23 Sat 20:28]

Make sure client disconnect removes heartbeat

  • State “DONE” from “TODO” [2013-03-23 Sat 23:31]

Figure out how clients will refer to devices they’ve claimed

  • State “DONE” from “TODO” [2013-03-25 Mon 20:58]

Add a way to know if we’re trying to close something that doesn’t have a heartbeat

  • State “DONE” from “TODO” [2013-03-31 Sun 23:16]

Make sure plugin processes close on exit, warn otherwise

  • State “DONE” from “TODO” [2013-04-01 Mon 20:06]

Warn clients of disconnect on main process shutdown

  • State “DONE” from “TODO” [2013-04-01 Mon 21:00]

Spin msg loop for a bit on exit to make sure everything closes

  • State “DONE” from “TODO” [2013-04-01 Mon 21:00]

Convert device claim function into full device plugin process lifetime

  • State “DONE” from “TODO” [2013-04-02 Tue 10:42]

Convert client function into full client connection lifetime

  • State “DONE” from “TODO” [2013-04-02 Tue 10:42]

Make sure client disconnect means claims are released

  • State “DONE” from “TODO” [2013-04-02 Tue 10:42]

Make sure message requeuing works even when double messages sent

  • State “DONE” from “TODO” [2013-04-04 Thu 21:05]

Add identity to greenlet names if it’s a parameter to the function

  • State “DONE” from “TODO” [2013-04-04 Thu 22:54]

Make a message template for the server

Add client websocket access via argument

Add server tests for process/pool cleanup on shutdown

Log subprocess output to logging module

http://www.velocityreviews.com/forums/t612189-subprocess-popen-output-to-logging-streamhandler.html

Register plugin handled messages

Add ability to use json or msgpack

Assign random names to client sockets?

How to deal with plugins like websocket, where we don’t want process per device?

Plugins

Write raw message plugin for RealTouch

  • State “DONE” from “TODO” [2012-12-11 Tue 23:50

Make test plugin hold temp files to act like device claims

  • State “DONE” from “TODO” [2013-03-31 Sun 11:47]

Move process to plugins, since no one else ever spawns a process

  • State “DONE” from “TODO” [2013-03-31 Sun 23:16]

Add test to crash server, make sure processes die correctly

Make plugin count start failure cause tests to fail

Add “test” devices to test plugin for testing timeouts, disappears, etc…

Properly handle Unicode Manufacturer and Product strings in USB descriptors

Write game control vibrator plugin

Write socket.io based webvibrator plugin

Find wiimote library for python

Write trancevibe plugin

Write Pen15 board plugin

Write original interactive fleshlight plugin?

Write virtual hole plugin

Write Ju-C Air plugin

Write realtouch plugin

Write vstroker plugin

Write phone sensor plugin

Testing

Core

Help Message

  • State “DONE” from “TODO” [2013-03-01 Fri 23:57]

Directory Creation

  • State “DONE” from “TODO” [2013-03-02 Sat 17:27]

Alternate configuration file

  • State “DONE” from “TODO” [2013-03-02 Sat 17:27]

Plugin found

  • State “DONE” from “TODO” [2013-03-02 Sat 22:11]

Plugin fails to load (invalid config)

  • State “DONE” from “TODO” [2013-03-02 Sat 22:11]

Plugin fails to load (can’t start count process)

  • State “DONE” from “TODO” [2013-03-02 Sat 22:11]

Plugin

Plugin comes up on server load

  • State “DONE” from “TODO” [2013-03-02 Sat 22:11]

Plugin shutdown on server missing

Plugin count mode

Plugin tries to register more messages than needed on count mode

Plugin can’t open device claim

Client

Client fails connect to non-existent host

Client connect to existing host

Client claims device success

Client claims device failure

Client registers messages

Client tries to register system message

Client tries to register plugin message

Claims released on client disconnect

Continuations

Event Manager

Heartbeat

Set up gevent per heartbeat

  • State “DONE” from “TODO” [2013-03-03 Sun 14:26]

Figure out how to fail?

  • State “DONE” from “TODO” [2013-03-09 Sat 00:29]

Main Server Message Loop

Client Lifetime

Plugin Lifetime

Process Manager

Socket Manager?