Repository navigation
Changes since 0.5.0
SystemdBus
- Call timeouts are converted correctly. A
Durationtimeout was multiplied by 10,000,000 instead of 1,000,000, so.seconds(1)waited 10 s. A zero or negative timeout is now 1 µs, since 0 means sd-bus's default, and one too large means no timeout. - Call timeouts fire. A call to a peer that never replied waited forever, whatever its timeout. The bus now keeps a timer armed for sd-bus's next deadline.
- Struct values can be read from replies. A reply containing a struct (
a(isb),a(iiay), …) failed withEBADMSG. Structs now decode as[any Sendable]of their fields, and byte arrays as[UInt8]. - Calls can skip bus activation.
callMethod,getPropertyandgetPropertiestakeautoStart: Bool = true. Withfalse, a call to a service that isn't running fails instead of starting it.getPropertyandgetPropertiesalso taketimeout:. - Private connections.
SystemdBus.openSystem()andopenUser()open a connection of their own rather than sharing the thread's default one..systemand.userare unchanged.
The package now has tests (SystemdTests). All changes are source-compatible. #14.