原文:netty源碼解析(4.0)-15 Channel NIO實現:寫數據

寫數據是NIO Channel實現的另一個比較復雜的功能。每一個channel都有一個outboundBuffer,這是一個輸出緩沖區。當調用channel的write方法寫數據時,這個數據被一系列ChannelOutboundHandler處理之后,它被放進這個緩沖區中,並沒有真正把數據寫到socket channel中。然后再調用channel的flush方法,flush會把outbound ...

2019-03-28 15:59 0 566 推薦指數:

查看詳情

netty源碼解析(4.0)-13 Channel NIO實現: 關閉和清理

  Channel提供了3個方法用來實現關閉清理功能:disconnect,close,deregister。本章重點分析這個3個方法的功能的NIO實現。   disconnect實現: 斷開連接   disconnect方法的調用棧如下:   disconnect稍微 ...

Wed Jan 30 18:56:00 CST 2019 0 3759
netty源碼解析(4.0)-12 Channel NIO實現:channel初始化

  創建一個channel實例,並把它register到eventLoopGroup中之后,這個channel然后處於inactive狀態,仍然是不可用的。只有在bind或connect方法調用成功之后才能正常。因此bind或connect算是channel初始化的最后一步,本章這就重點分析這兩個 ...

Tue Jan 22 23:47:00 CST 2019 0 563
Netty 源碼解析(二):NettyChannel

本文首發於微信公眾號【猿燈塔】,轉載引用請說明出處 接下來的時間燈塔君持續更新Netty系列一共九篇 Netty源碼解析(一):開始 當前:Netty 源碼解析(二): NettyChannel Netty 源碼解析(三): Netty 的 Future ...

Sat Apr 25 17:58:00 CST 2020 0 829
Netty源碼分析--NIO(一)

好久沒寫博客了,最近打算花些時間把Netty源碼好好讀一讀,下面是本人在學習的過程中的一些筆記,不能確保自己思考的完全是正確的,如果有錯誤,歡迎大家指正。 由於本人的語文功底爛的很,通篇使用大白話來講解0.0,有一些概念上的東西,博主可能不會明確的給出定義,建議使用 ...

Sun Jun 30 02:16:00 CST 2019 2 713
netty源碼解析(4.0)-23 ByteBuf內存管理:分配和釋放

  ByteBuf內存分配和釋放由具體實現負責,抽象類型只定義的內存分配和釋放的時機。   內存分配分兩個階段: 第一階段,初始化時分配內存。第二階段: 內存不夠用時分配新的內存。ByteBuf抽象層沒有定義第一階段的行為,但定義了第二階段的方法:   public abstract ...

Wed Oct 09 23:03:00 CST 2019 0 578
netty源碼解析(4.0)-24 ByteBuf基於內存池的內存管理

 io.netty.buffer.PooledByteBuf<T>使用內存池中的一塊內存作為自己的數據內存,這個塊內存是PoolChunk<T>的一部分。PooledByteBuf<T>是一個抽象類型,它有4個派生類: PooledHeapByteBuf ...

Wed Oct 16 17:32:00 CST 2019 0 315
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM