1. 31 Jan, 2023 3 commits
  2. 29 Jan, 2023 1 commit
  3. 03 Jan, 2023 1 commit
  4. 02 Jan, 2023 9 commits
  5. 31 Dec, 2022 5 commits
    • Zeeshan Ali Khan's avatar
      zb: API to create MessageStream for a given match rule · abebbe34
      Zeeshan Ali Khan authored
      This way, you can tell zbus to only wake-up the stream for the message
      it's intersted in. We leverage the existing internal API for match rule
      registration/setup, which will help us convert SignalStream (and other
      MessageStream users) to make use of this new API.
      
      Fixes #233.
      abebbe34
    • Zeeshan Ali Khan's avatar
      zb: Internal: Keep message receiver in ConnectionInner · dd73b449
      Zeeshan Ali Khan authored
      This simplifies the MessageStream impl a bit but mainly we need this for
      a following change on how message broadcast works.
      dd73b449
    • Zeeshan Ali Khan's avatar
      zb: Don't wait for streams · bb0fa790
      Zeeshan Ali Khan authored
      Until now, we have been using the default behaviour of async-broadcast
      to await for active receivers (which translates to existance of any
      message streams) when sending a message received on the socket. This has
      been the right thing to do since otherwise, we'll needlessly keep
      reading messages on the socket.
      
      However, we are about to introduce multile broadcast channels in the
      following commits and it wouldn't make sense to make active receivers of
      one channel wait for active receivers on others.
      bb0fa790
    • Zeeshan Ali Khan's avatar
      zb: Fix a typo in a doc comment · ef99abc5
      Zeeshan Ali Khan authored
      ef99abc5
    • Zeeshan Ali Khan's avatar
      zb,zm,zn,zp,zx,zv: Inline format args · 3cd65d94
      Zeeshan Ali Khan authored
      Latest clippy gained a warning lint about this:
      
      ```
      error: variables can be used directly in the `format!` string
         --> zbus_macros/src/proxy.rs:199:30
          |
      199 |             .or_else(|| Some(format!("/org/freedesktop/{}", ident)));
          |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          |
          = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#uninlined_format_args
      help: change this to
          |
      199 -             .or_else(|| Some(format!("/org/freedesktop/{}", ident)));
      199 +             .or_else(|| Some(format!("/org/freedesktop/{ident}")));
          |
      ```
      
      Luckily, clippy can fix it automatically for us as well.
      3cd65d94
  6. 09 Dec, 2022 3 commits
  7. 02 Dec, 2022 1 commit
  8. 28 Nov, 2022 1 commit
  9. 24 Nov, 2022 4 commits
  10. 21 Nov, 2022 2 commits
  11. 20 Nov, 2022 2 commits
  12. 19 Nov, 2022 1 commit
  13. 15 Nov, 2022 1 commit
  14. 10 Nov, 2022 2 commits
  15. 30 Oct, 2022 1 commit
  16. 29 Oct, 2022 3 commits
    • Zeeshan Ali Khan's avatar
      zb: Fix a small doc comment · b9d4275b
      Zeeshan Ali Khan authored
      b9d4275b
    • Zeeshan Ali Khan's avatar
      zb: Allow registering names on p2p connection · 7e40dfdd
      Zeeshan Ali Khan authored
      In such case, just register the name locally and not w/ the bus. This
      allows users to tell the ObjectServer to only serve method calls
      destined for the names it has registered. This is useful for bus
      implementations.
      7e40dfdd
    • Zeeshan Ali Khan's avatar
      zb: ObjectServer to only serve methods destined to its connection · 2c010d57
      Zeeshan Ali Khan authored
      While in most cases, you'd want ObjectServer to take over all incoming
      method calls on its connection but in certain cases, you don't. For
      example, if you'd build a bus implementation on top of zbus, you'll
      likely want to make use of ObjectServer for the Freedesktop standard
      interfaces required from a bus, while being able to receive messages on
      the same connections destined for other peers to send them off to the
      right connection. If ObjectServer would serve all messages, it'll just
      return an error for all method calls destined for other peers.
      
      I'm sure there are other (not so niche) use cases for this.
      2c010d57