18 | | * a reachitecture of the IO layer is needed: |
19 | | * Reader -> IO,Protocol . Each reader need to implement its IO layer (serial, SCI, smartreader+, PCSC, ....). The reader init should only return the ATR. We don't want to autoswitch speed at that point as it depends on the card type. |
| 18 | * a re-architecture of the IO layer is needed: |
| 19 | * Reader -> IO,Protocol . Each reader need to implement its IO layer (serial, SCI, smartreader+, PCSC, ....). The reader init should only return the ATR. We don't want to auto-switch speed at that point as it depends on the card type. |
22 | | All of these module need to be in their own thread and be responsible for updating their data structure (this data structure can be read by other thread based on what they need, only the tread owning the structure can write in it, other thread can send data update to the thread ... this need to be refine and we need to talk about it to find a good way to share the data between the thread without over-engineering the whole thing). |
| 22 | All of these module need to be in their own thread and be responsible for updating their data structure (this data structure can be read by other thread based on what they need, only the tread owning the structure can write in it, other thread can send data update to the thread ... this need to be refine and we need to talk about it to find a good way to share the data between the thread without over-engineering the whole thing).[[BR]] |
| 23 | The main thread should only be parsing the config, spawning the threads and monitoring the threads (alert if they die but not quit the whole app, try to re-spawn a thread if it dies).[[BR]] |
| 24 | The logging thread should use a queue instead of the crappy pipes (not working in some case) that we have now (it's probably due to the fork architecture).[[BR]] |
| 25 | I don't think we need to go as far as making all modules and readers as plugins, but we definitely need some common interface to facilitate the integration of new modules and reader.[[BR]] |
| 26 | |
| 27 | |