-
Notifications
You must be signed in to change notification settings - Fork 6
/
TODO
56 lines (50 loc) · 3.95 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Issues to be resolved before a first release:
- Doxygen (STARTED)
- Fix all the TODOs in the source code
- Check: Session confirmation with error reporting?
Issues to be resolved after the first release:
- Sophisticated HDLC support as specified by the extensive AX.25 documentation at http://www.ax25.net/AX25.2.2-Jul%2098-2.pdf (STARTED in branch hdlc-vanilla)
- Currently there is no ARQ for data sent by the device to the HDLCd!
- Currently there is no congestion control for data sent by the device to the HDLCd!
- Also check both TODOs in HdlcdPacketEndpoint.h from the hdlcd-devel repository when fixing that... can and should be made asynchronous-only (via callbacks)
- New session type to obtain global status information of the HDLC daemon
- New session type to obtain status information regarding a specific serial interface
- New session type for remote logging
- Authentication, maybe?
- Communicate the baud rate (initial and on any change) via control packets
- Support for SNMP, maybe?
// DONE
- Add command line switches and online help ("-h --help") to the HDLCd (DONE)
- Added doxygen files for creation of HTML files and online documention (DONE)
- Periodically test idle HDLC links via U-TEST packets; check if the baud rate is still correct, or start another detection procedure. (DONE)
- Add hint to spec: even if s-net(r)-messages indicate non-reliable transfer, reliable transmission via HDLC should be demanded for! (DONE)
- Implement polling-based scheduler to query data packets to be transmitted, distinguish "unreliable-only" and "all data" (DONE)
-> - Allow TCP sockets to become congested if the serial port is busy (no data loss on arrival of data bursts) (DONE)
- Stop reading subsequent data packets from the TCP socket if the serial port is currently not open (DONE)
- Implement transmission of U-frames, even for busy peers (RNR condition) (DONE)
- States: deliver nothing (not alive), deliver U-Frames (alive, but stalled), deliver I- and U-Frames (alive and open) (DONE)
- The "flow suspended" status flag must be set if the serial port is locked (DONE)
- Implement keep alive packet handling, automatic transmission every 60 seconds (DONE)
- Implement port kill request (DONE)
- Implement echo service in ClientHandler (DONE)
- Add subsequent tool solely for monitoring the status of a serial port (DONE)
- Communicate the HDLC state (initial and on any change; whether "connected") via control packets (Spec: DONE, Code: DONE)
- Logic to suspend / resume serial interfaces via control packets (logic: DONE, via TCP: DONE, tool: DONE)
- Propagate direction of arrival flag (DONE) and the validity flag (DONE) via the access protocol (DONE)
- HDLC retransmissions (specific to the current limitations of the s-net(r) sensor nodes by Fraunhofer IIS) (WONTFIX, impossible)
- Rudimentary HDLC protocol is sufficient for the s-net(r) sensor nodes by Fraunhofer IIS (DONE)
- Refactoring of the shared header files (DONE)
- Modular acceptor / connector logic (DONE)
- Implement the final specification of the TCP-based access protocol (DONE)
- Dedicated access protocol entities for HDLCd and the client side. (DONE)
- Better buffer handling to get rid of all remaining memmove and memcpy statements (DONE)
- Implement baud rate detection by probing with TEST frames (DONE)
- Complete specification of the TCP-based access protocol (DONE)
- Tests on recent versions of MS Windows (DONE)
- Fix HDLC send logic, the current send queue implementation is invalid and causes data loss (DONE)
- Send appropriate S-frames (requires send queue) (DONE: RR and SREJ)
- Remove bloated bunch of unnecessary include statements (DONE)
- All tools have to handle direction of arrival flag and the validity flag, i.e., adjust their output messages (DONE)
- Use enums in the ClientHandler to specify the kinds of data to be delivered (DONE)
- Reduce code clones in ClientHandler.cpp (DONE)
- Proper shutdown of the hdlc-hexchanger tool on ioservice shutdown, requires a fix for std::cin.getline() (DONE)