(1) If we do use libc for our error message localization then it needs to be decided and more obvious right now (signed int and also different name). So that makes 'uint32 code' more like 'int32 errnum' or 'int32 stderrcode'.
(2) Do we really need an enum domain? Seems cumbersome to maintain but also consider (3) ...
(3) I suspect a generic error solution will also require additional arg strings, but we can add those latter. Like EACCES (Permissing denied) with context="/tmp/mir_socket".
(0) What Alan said ^
Regarding:
524 +message StructuredError {
525 + optional uint32 domain = 1;
526 + optional uint32 code = 2;
527 +}
(1) If we do use libc for our error message localization then it needs to be decided and more obvious right now (signed int and also different name). So that makes 'uint32 code' more like 'int32 errnum' or 'int32 stderrcode'.
(2) Do we really need an enum domain? Seems cumbersome to maintain but also consider (3) ...
(3) I suspect a generic error solution will also require additional arg strings, but we can add those latter. Like EACCES (Permissing denied) with context= "/tmp/mir_ socket" .