Closed naggie closed 5 years ago
Problems with initial version:
Timeout too short -- host could disappear unnecessarily if network was busy. Timeout should be for GC purposes only.
Service name length limitation makes names a bit cryptic
Recommendation to put version in service name was bad. Should be up to the API.
[x] relax the timeout to 10mins (so it's more garbage collection than host monitoring)
[x] beacon 10 seconds
[x] make the text field larger to allow names like DSPA speaker Woodhouse multisensor node DSPA display
[x] fast interval/timeouts with go test
[x] fast interval/timeouts with python test
[x] tests -- listen on 127.0.0.1 only
[x] recommend that the version is not included in the name (that should be up to the API) (and name is human readable, eg Woodhouse multisensor node)
Woodhouse multisensor node
[x] mention JSON APIs too (microcontrollers
[x] fixed length port should probably be before variable length name (easiser to parse)
[x] consider raw encoding for port number (2 bytes vs 5) (not worth it -- ascii is good for debugging, and data is very small anyway)
[x] consider check bits (not necessary -- UDP packets use a 16 bit checksum)
[x] consider removing sd01 prefix (no it is good for filtering/validation)
[x] remove wait (in favor of polling -- this no longer matches with the relaxed timeouts and broadcast interval)
[x] decide on fixed interval still (with relaxed timeout)
[x] fix tests
[x] python needs timeout test
Write about example use cases, put in README.
Problems with initial version:
Timeout too short -- host could disappear unnecessarily if network was busy. Timeout should be for GC purposes only.
Service name length limitation makes names a bit cryptic
Recommendation to put version in service name was bad. Should be up to the API.
[x] relax the timeout to 10mins (so it's more garbage collection than host monitoring)
[x] beacon 10 seconds
[x] make the text field larger to allow names like DSPA speaker Woodhouse multisensor node DSPA display
[x] fast interval/timeouts with go test
[x] fast interval/timeouts with python test
[x] tests -- listen on 127.0.0.1 only
[x] recommend that the version is not included in the name (that should be up to the API) (and name is human readable, eg
Woodhouse multisensor node
)[x] mention JSON APIs too (microcontrollers
[x] fixed length port should probably be before variable length name (easiser to parse)
[x] consider raw encoding for port number (2 bytes vs 5) (not worth it -- ascii is good for debugging, and data is very small anyway)
[x] consider check bits (not necessary -- UDP packets use a 16 bit checksum)
[x] consider removing sd01 prefix (no it is good for filtering/validation)
[x] remove wait (in favor of polling -- this no longer matches with the relaxed timeouts and broadcast interval)
[x] decide on fixed interval still (with relaxed timeout)
[x] fix tests
[x] python needs timeout test
[ ] implement gc of services memory (should prevent memory exhaustion attack with 2^32 spoofed IPs) (either that or filter private IP range only)
Write about example use cases, put in README.