2007年11月6日 星期二

Boost asio 0.3.8 is released

其實已經release一兩個禮拜了
只是今天用SSL老是crash, 翻了翻mail list看到有人說0.3.8可以解決, 就順手來更新了...

asio 0.3.8為了符合TR2 networking proposal, 在error handling上做了不小的改變
例如0.3.7的boost::asio::error, 在0.3.8通通不見了, 取而代之的是boost::system::error_code
(Boost System也是為了TR2而生的, 寫過socket程式的人都知道, 在win32底下我們要用WSAGetLastError()來取得error code, 在linux下則是用errno, 不怎麼方便, Boost System解決了這個問題)

除了error code, 本來的error handler也不見了
0.3.7會pass像boost::asio::ignore_error()這樣的error handler去取error
0.3.8直接把boost::system::error_code用pass-by-reference傳進去, 看起來清楚多了, 不過我覺得比較不方便一點, 因為我喜歡ignore error......

P.S. 為什麼asio明明看起來就像是網路的library, 名字卻要取為asio呢?
這是因為作者的原始初衷是asynchronous IO的concept, 只是目前只有網路先被implement出來......
不過asio的asynchronous concept, 一開始雖然很不習慣, 但卻是很不賴的思考邏輯喔

沒有留言: