spice client 和 spice server 通信机制(11)

时间:2025-07-08

SPICE_CHANNEL_DISPLAYred_dispatcher_set_peer

SPICE_CHANNEL_CURSORred_dispatcher_set_cursor_peer

SPICE_CHANNEL_INPUTSinputs_link

SPICE_CHANNEL_PLAYBACKsnd_set_playback_peer

SPICE_CHANNEL_RECORDsnd_set_record_peer

link最主要的工作之一就是网络连接的处理,即选择网络事件处理模型,设置网络事件响应函数等。spice用了两种模型:select、epoll

1)DisplayChannel的link实现:

Display的实现中引入了一个dispatcher,实现了各种对外的接口,接口本身大都不做实际工作,主要负责消息转发。

QXL_INTERFACE的初始化函数red_dispatcher_init会启动一个专门的工作线程

red_worker_main,此线程有三个职责,其中之一就是接收dispatcher接口转发过来的消息,并进行实际的消息处理工作。dispatcher和工作线程之间的通信是通过一个socketpair,利用epoll模型机型通信。

此处link函数的实现同样也是通过dispatcher接口red_dispatcher_set_peer将

RED_WORKER_MESSAGE_DISPLAY_CONNECT消息发送给red_worker_main,

red_worker_main中,epoll_wait等待事件,然后调用具体事件处理函数来处理,此处会调用handle_dev_input函数。handle_dev_input函数响应

spice client 和 spice server 通信机制(11).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219