<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 7 數據緩沖Bufferevent 很多時候,除了響應事件之外,應用還希望做一定的數據緩沖。比如說,寫入數據的時候 ,通常的運行模式是: * 決定要向連接寫入一些數據,把數據放入到緩沖區中 * 等待連接可以寫入 * 寫入盡量多的數據 * 記住寫入了多少數據,如果還有更多數據要寫入,等待連接再次可以寫入 這種緩沖 IO 模式很通用,libevent 為此提供了一種通用機制,即bufferevent。 bufferevent 由一個底層的傳輸端口(如套接字 ),一個讀取緩沖區和一個寫入緩沖區組成。與通常的事件在底層傳輸端口已經就緒,可以讀取或者寫入的時候執行回調不同的是,bufferevent 在讀取或者寫入了足夠量的數據之后調用用戶提供的回調。 有多種共享公用接口的 bufferevent 類型,編寫本文時已存在以下類型: * `基于套接字的 bufferevent`:使用 event_*接口作為后端,通過底層流式套接字發送或者接收數據的 bufferevent * `異步 IO bufferevent`:使用 Windows IOCP 接口,通過底層流式套接字發送或者接收數據的 bufferevent(僅用于 Windows,試驗中) * `過濾型 bufferevent`:將數據傳輸到底層 bufferevent 對象之前,處理輸入或者輸出數據的 bufferevent:比如說,為了壓縮或者轉換數據。 * `成對的 bufferevent`:相互傳輸數據的兩個 bufferevent。 >`注意`:截止2.0.2-alpha 版,這里列出的 bufferevent 接口還沒有完全正交于所有 的 bufferevent 類型。也就是說,下面將要介紹的接口不是都能用于所有bufferevent 類型。libevent 開發 者在未來版本中將修正這個問題。 >`也請注意` :當前 bufferevent 只能用于像 TCP 這樣的面向流的協議,將來才可能會支持 像 UDP 這樣的面向數據報的協議。 ## bufferevent和evbuffer 每個 bufferevent 都有一個輸入緩沖區和一個輸出緩沖區 ,它們的類型都是“struct evbuffer”。 有數據要寫入到 bufferevent 時,添加數據到輸出緩沖區 ;bufferevent 中有數據供讀取的時候,從輸入緩沖區抽取(drain)數據。 evbuffer 接口支持很多種操作,后面的章節將討論這些操作。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看