Devices infrastructure and minimal server
starts and creates (server-side) devices no daemonizing and servicing yet hint: try starting: $ bin/server.py -v start Change-Id: I6ac7a78dfff309a459cc0338a8d0d319ee72ada5
This commit is contained in:
@ -1,6 +1,8 @@
|
||||
Markdown docu to be generated
|
||||
=============================
|
||||
|
||||
[Notes](notes.html)
|
||||
|
||||
|
||||
TODO's
|
||||
======
|
||||
|
39
doc/notes.md
Normal file
39
doc/notes.md
Normal file
@ -0,0 +1,39 @@
|
||||
------
|
||||
No installation required or recommended.
|
||||
-----
|
||||
|
||||
everything runs directly from the checkout.
|
||||
|
||||
you need:
|
||||
- python2.7.*
|
||||
- pip
|
||||
- linux OS (Mac may work as well)
|
||||
|
||||
install requirements with pip:
|
||||
$ sudo pip install -r requirements.txt
|
||||
|
||||
to execute a program, prefix its name with bin/, e.g.:
|
||||
$ bin/make_doc.py
|
||||
$ bin/server.py start test
|
||||
|
||||
a testsuite is planned but nothing is there yet.
|
||||
|
||||
## structure ##
|
||||
|
||||
* bin contains the executables (make_doc.py, server.py)
|
||||
* doc is the root node of the docu (see index.md)
|
||||
* etc contains the configurations for the server(s) and devices
|
||||
* html contains the docu after make_doc.py was run
|
||||
* log contains some (hopefully) log output from the servers
|
||||
* pid contains pidfiles if a server is running
|
||||
* src contains the python source
|
||||
* src/client: client specific stuff (proxy)
|
||||
* src/devices: devices to be used by the server (and exported via SECoP)
|
||||
* src/lib: helper stuff (startup, pidfiles, etc)
|
||||
* src/protocol: protocol specific stuff
|
||||
* src/errors.py: internal errors
|
||||
* src/server.py: device-managing part of the server (transport is in src/protocol/transport)
|
||||
* src/validators.py: validators used by the devices. may be moved to src/protocol
|
||||
|
||||
# THERE IS STILL MUCH WORK TO DO! #
|
||||
|
24
doc/todo.md
24
doc/todo.md
@ -6,6 +6,7 @@
|
||||
* src/server for everything server related
|
||||
* src/client for everything client related (ProxyDevice!)
|
||||
* src/protocol for protocol specific things
|
||||
* need subtree for different implementations to play with
|
||||
* src/lib for helpers and other stuff
|
||||
* possibly a parallel src tree for cpp version
|
||||
|
||||
@ -20,16 +21,31 @@
|
||||
|
||||
## A Server ##
|
||||
|
||||
* evaluate config.ini
|
||||
* handle cmdline args (specify different server.ini)
|
||||
* get daemonizing working
|
||||
* handle -d (nodaemon) and -D (default, daemonize) cmd line args
|
||||
* support Async data units
|
||||
* support feature publishing and selection
|
||||
* rewrite MessageHadler to be agnostic of server
|
||||
* rewrite MessageHandler to be agnostic of server
|
||||
|
||||
|
||||
## Device framework ##
|
||||
|
||||
* unify PARAMS and CONFIG (if no default value is given,
|
||||
it needs to be specified in cfgfile, otherwise its optional)
|
||||
* supply properties for PARAMS to auto-generate async data units
|
||||
|
||||
|
||||
## Testsuite ##
|
||||
|
||||
* embedded tests inside the actual files grow difficult to maintain
|
||||
* needed ?
|
||||
=> need a testsuite (nose+pylint?)
|
||||
|
||||
|
||||
## docu ##
|
||||
|
||||
* mabe use sphinx to generate docu: a pdf can then be auto-generated....
|
||||
* transfer build docu into wiki via automated jobfile
|
||||
Problem: wiki does not understand .md or .html
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user