| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- The billdb module keeps track of the local copy of the billing log
- database by reciving billing log entries from other modules and storing
- them in a local database. Each message is a single line of ASCII text
- with tab delimited fields (there is no valid reason to allow a tab in
- any of the fields, any tabs inside the fields should be translated to single
- spaces) and terminated by a newline.
- When the client wants to commit new records, it
- issues a commit request in this format:
- BILLINGENTRY
- BILLINGENTRY
- ...
- where BILLINGENTRY is a record formated like this:
-
- 0) equip_num INT\t
- 1) driver INT\t
- 2) paddle INT\t
- 3) route INT\t
- 4) trip INT\t
- 5) stop INT\t
- 6) ride_time TIMESTAMP\t
- 7) latitude DOUBLE\t
- 8) longitude DOUBLE\t
- 9) action VARCHAR(16)\t
- 10) rule VARCHAR(24)\t
- 11) ruleparam VARCHAR(24)\t
- 12) reason VARCHAR(32)\t
- 13) credential VARCHAR(32)\t
- 14) cash_value INT\t
- 15) stop_name VARCHAR(64)\n
- OR a log entry formatted like this:
- [!*#]some data....\n
- The serevr will reply to EVERY message with either:
-
- DUP md5sum
- or
- ACK md5sum
- or
- IGN md5sum
- Either if which will allow the client to remove its local copy of
- the log entry. Do not reply with ACK or DUP until the row has been stored
- to the server-side database. Reply with IGN if you have been sent garbage
- and want the client to stop retrying that garbage string.
|