Wayland API中串行参数的目的是什么?

伊巴科斯

我最近一直在使用Wayland协议,并且许多功能都包含一个unit32_t serial参数。这是wayland-client-protocol.h的示例

struct wl_shell_surface_listener {
    /**
     * ping client
     *
     * Ping a client to check if it is receiving events and sending
     * requests. A client is expected to reply with a pong request.
     */
    void (*ping)(void *data,
                 struct wl_shell_surface *wl_shell_surface,
                 uint32_t serial);
    // ...
}

此参数的目的是使客户端将对pong显示服务器进行响应,并向其传递的值serial服务器会将serial通过接收到的信息pong通过serialping发送的信息进行比较。

还有许多其他功能都包含此类serial参数。此外,API中其他功能的实现通常会在执行某些工作之前增加全局wl_display->serial属性以获得新serial值。我的问题是,从一般意义上讲,此serial参数的基本原理是什么它有名字吗?例如,这是IPC还是事件驱动/异步编程中的常规做法?有点像用于异步方法调用的XCB“ cookie”概念吗?是否可以在其他程序中找到此技术(请参见示例)?

另一个例子是过剩,glutTimerFunc 此处将其视为“异步调用的常见习语”。我很想知道这个习惯用语是否有名称,以及在哪里(请引用好),作为异步/均匀驱动编程中的最佳实践或技术(例如延续或“信号和插槽”)进行讨论。或者,例如,共享资源计数如何仅仅是整数,但我们认为它们是“信号量”。

伊巴科斯

正如Hans PassantTom Zych在评论中指出的那样,该参数将一个异步调用与另一个异步调用区分开。

我仍然对这个更深层次的问题感到好奇,那就是该技术是否是异步/事件驱动软件中常用的一种技术,以及它是否具有众所周知的名称。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么Wayland更好?

来自分类Dev

xinput列表的Wayland等效项是什么?

来自分类Dev

在Wayland中修改键盘布局

来自分类Dev

在Wayland中修改键盘布局

来自分类Dev

如果我安装 Wayland 会发生什么?

来自分类Dev

获取Wayland Weston中活动窗口的列表

来自分类Dev

将光标隐藏在Wayland中

来自分类Dev

KDE 5.12 + 与 Wayland 中的全局菜单

来自分类Dev

在 Ubuntu 20.04、Wayland 中重新映射密钥

来自分类Dev

为什么我的系统未使用Wayland,为什么我仍安装Wayland软件包?

来自分类Dev

如何在Wayland / GNOME中激活/配置屏幕保护程序?

来自分类Dev

Wayland会话在Fedora VM中不可用?

来自分类Dev

在Debian上的Wayland中的gnome中进行Redshift

来自分类Dev

如何在Wayland / GNOME中激活/配置屏幕保护程序?

来自分类Dev

我可以在X中运行Wayland应用程序吗?

来自分类Dev

Plank没有出现在Gnome Wayland的会议中

来自分类Dev

如何在Ubuntu 17.10中从Wayland切换回Xorg?

来自分类Dev

在Wayland中按Shift +数字键的相反作用

来自分类Dev

如何使用Wayland在Ubuntu 17.10中注销?

来自分类Dev

SwayWM (i3wm wayland) 中的亮度控制

来自分类Dev

Wayland的选择

来自分类Dev

Canonical为什么选择Mir而不是Wayland作为显示服务器?

来自分类Dev

Canonical为什么选择Mir而不是Wayland作为显示服务器?

来自分类Dev

Ubuntu 18.04 上的 Wayland 会话:为什么 /usr/bin/Xwayland 正在运行?

来自分类Dev

为什么我不能在 Wayland 中使用 xkill 杀死终端窗口?

来自分类Dev

如何在gdm3登录屏幕中的17.10中禁用Wayland

来自分类Dev

如何在gdm3登录屏幕中的17.10中禁用Wayland

来自分类Dev

在 Ubuntu 18 上,Terminator 窗口未在 Wayland 会话中的 Dock 中的同一图标下分组

来自分类Dev

如何在Wayland下的容器中运行图形应用程序?

Related 相关文章

  1. 1

    为什么Wayland更好?

  2. 2

    xinput列表的Wayland等效项是什么?

  3. 3

    在Wayland中修改键盘布局

  4. 4

    在Wayland中修改键盘布局

  5. 5

    如果我安装 Wayland 会发生什么?

  6. 6

    获取Wayland Weston中活动窗口的列表

  7. 7

    将光标隐藏在Wayland中

  8. 8

    KDE 5.12 + 与 Wayland 中的全局菜单

  9. 9

    在 Ubuntu 20.04、Wayland 中重新映射密钥

  10. 10

    为什么我的系统未使用Wayland,为什么我仍安装Wayland软件包?

  11. 11

    如何在Wayland / GNOME中激活/配置屏幕保护程序?

  12. 12

    Wayland会话在Fedora VM中不可用?

  13. 13

    在Debian上的Wayland中的gnome中进行Redshift

  14. 14

    如何在Wayland / GNOME中激活/配置屏幕保护程序?

  15. 15

    我可以在X中运行Wayland应用程序吗?

  16. 16

    Plank没有出现在Gnome Wayland的会议中

  17. 17

    如何在Ubuntu 17.10中从Wayland切换回Xorg?

  18. 18

    在Wayland中按Shift +数字键的相反作用

  19. 19

    如何使用Wayland在Ubuntu 17.10中注销?

  20. 20

    SwayWM (i3wm wayland) 中的亮度控制

  21. 21

    Wayland的选择

  22. 22

    Canonical为什么选择Mir而不是Wayland作为显示服务器?

  23. 23

    Canonical为什么选择Mir而不是Wayland作为显示服务器?

  24. 24

    Ubuntu 18.04 上的 Wayland 会话:为什么 /usr/bin/Xwayland 正在运行?

  25. 25

    为什么我不能在 Wayland 中使用 xkill 杀死终端窗口?

  26. 26

    如何在gdm3登录屏幕中的17.10中禁用Wayland

  27. 27

    如何在gdm3登录屏幕中的17.10中禁用Wayland

  28. 28

    在 Ubuntu 18 上,Terminator 窗口未在 Wayland 会话中的 Dock 中的同一图标下分组

  29. 29

    如何在Wayland下的容器中运行图形应用程序?

热门标签

归档