| Title | Telemetry control interface is poorly designed |
| Status | closed |
| Priority | optional |
| Assigned user | Gareth Rees |
| Organization | Ravenbrook |
| Description | RB says [1]: 48. Ugh. mps_telemetry_control ought to be replaced by three functions. It breaks the rules on candy-machine interfaces. 50. mps_telemetry_intern should return a typed value (mps_label_t?), not mps_word_t. |
| Analysis | For (48), I propose that the three functions should be: void mps_telemetry_set(mps_word_t) void mps_telemetry_reset(mps_word_t) mps_word_t mps_telemetry_get(void) mps_telemetry_control will be left in the interface, but deprecated in the reference manual. For (50), I propose just making a typedef: typedef mps_word_t mps_label_t; mps_label_t mps_telemetry_intern(const char *); Is this a transparent typedef, or partially transparent (e.g. "some unsigned integer type", or opaque? |
| How found | inspection |
| Evidence | [1] <https://info.ravenbrook.com/mail/2012/11/16/13-21-30/0/> |
| Observed in | 1.110.0 |
| Created by | Gareth Rees |
| Created on | 2012-11-16 14:05:17 |
| Last modified by | Gareth Rees |
| Last modified on | 2012-11-19 12:44:34 |
| History | 2012-11-16 GDR Created. |
| Change | Effect | Date | User | Description |
|---|---|---|---|---|
| 180495 | closed | 2012-11-16 16:42:41 | Gareth Rees | New type mps_label_t for telemetry labels. Deprecate "candy machine" interface to telemetry control. Implement and document straightforward get/set/reset interface. Put a TODO referencing job003387 and job003388. |