1. 29 Mar, 2020 2 commits
  2. 24 Mar, 2020 1 commit
    • Manuel Stoeckl's avatar
      Provide commit hash in version string · 646a833d
      Manuel Stoeckl authored
      This makes it easier to check when two versions of waypipe built from
      a git repository are based on the same commit. This does not take into
      account any build flag differences or extra changes to the working tree.
  3. 17 Mar, 2020 4 commits
  4. 15 Mar, 2020 2 commits
  5. 12 Mar, 2020 1 commit
    • Manuel Stoeckl's avatar
      Annotate Wayland messages over wire with number of fds · 1dc7b528
      Manuel Stoeckl authored
      Tag each Wayland message sent over the wire with the number of file descriptors
      that Waypipe's logic has associated with the message. This tag makes it easier
      to detect if the Waypipe client and server instances, for some reason, have
      interpreted the two streams of file descriptors differently. (For example, this
      may be useful if one instance supports a new Wayland protocol involving a file
      descriptor, but the other does not.)
      This change introduces a limit of 31 fds per method and 2047 different methods
      per Wayland protocol type. It is very unlikely that a well written protocol will
      ever surpass either of these two limits.
  6. 11 Mar, 2020 1 commit
    • Manuel Stoeckl's avatar
      Add wire protocol version to the connection token · 65aa37c4
      Manuel Stoeckl authored
      This change:
      * Expands the connection token used by waypipe client/server to use 16 bytes,
        and dedicates 4 of those bytes for versioning and flags.
      * Adds a version number, so that in case we need to break wire protocol,
        we can do so and provide clear error messages.
      * Adds a fixed bit to the connection token to check if the remote endianness
        does not match the local endianness
  7. 23 Feb, 2020 1 commit
  8. 10 Feb, 2020 1 commit
    • Manuel Stoeckl's avatar
      Fix wl_output_transform rotation direction · b79d8938
      Manuel Stoeckl authored
      This was previously calibrated against Weston, but it turns out that
      Weston was wrong and had used clockwise rotations where the Wayland
      specification required counterclockwise rotations.
  9. 08 Dec, 2019 1 commit
  10. 28 Nov, 2019 2 commits
    • Manuel Stoeckl's avatar
      Use subprocess.Popen for startup failure test · 68e6782c
      Manuel Stoeckl authored
      According to the Python documentation, the new usage should be valid
      for Python >=3.3, covering a wider range than the >=3.5 for
      subprocess.Popen. Also, this change avoids a possible regression
      with Python 3.8.0 in which the TimeoutExpired exception no longer
      provides a non-None .output field.
    • Manuel Stoeckl's avatar
      Fix crash when both reading and writing a DMABUF · 9f0b9f2e
      Manuel Stoeckl authored
      When queuing a buffer diff construction task on a DMABUF, the
      buffer is mapped; if a buffer diff application message is
      received before the task completes, the buffer is mapped and
      unmapped a second time, making sfd->mem_local NULL. This change
      ensures that diff and fill message handlers do not blindly
      remap DMABUFs.
  11. 21 Oct, 2019 1 commit
    • Manuel Stoeckl's avatar
      Add -Wno-unused-result compile flag · 96834a5f
      Manuel Stoeckl authored
      On some systems with gcc, a (void)cast does not suffice to ignore
      the return values of read() and write(). However, in some cases,
      such as when closing Waypipe via SIGINT, the program will still
      shut down no matter the return value of the write() used to indicate
      that a SIGINT occured.
  12. 03 Sep, 2019 1 commit
  13. 26 Aug, 2019 4 commits
  14. 25 Aug, 2019 2 commits
    • Manuel Stoeckl's avatar
      Fix a little-endian-only construct · e2fe68f5
      Manuel Stoeckl authored
    • Manuel Stoeckl's avatar
      Small adjustments to README · cfbe3dc3
      Manuel Stoeckl authored
      Specifically, remove the -C compression option from the example wrapped
      ssh command, since it is often faster to use e.g. `waypipe -c lz4 ssh`
      That most dependencies are optional has been clarified by moving them into
      a separate list.
      The `cd path/..` idiom is not as clear as two distinct cd commands.
  15. 24 Aug, 2019 2 commits
  16. 16 Aug, 2019 6 commits
  17. 15 Aug, 2019 6 commits
  18. 14 Aug, 2019 2 commits
    • Manuel Stoeckl's avatar
      Preallocate a queue for async delivered messages · 6b839fe1
      Manuel Stoeckl authored
      This change partially undoes 2b3c7a64. Now the queue of messages to
      be transferred has two parts; a (main thread only) queue that gets
      used by writev, and a static array that receives messages from
      all asynchronous work tasks.
      There are two main benefits:
      * Only the async receive queue needs a lock, and that lock is held
        for very short periods of time.
      * The new async receive queue array can be allocated by the main
        thread in advance, so adding messages to it can not fail.
        (Granted, moving messages onto the main thread queue can require
        resize operations, but said resize operations no longer must
        happen under a lock.)
    • Manuel Stoeckl's avatar