首先,今天0點《暗黑破壞神3》就要正式開服了,但是我把晚上獻給了erlang,經過前幾天的努力,我已經看完了 erlang otp設計原則,在這裡非常感謝,翻譯成中文的作者 shiningray,沒有你無私的奉獻,也就沒有我們這些菜鳥的幸福,廢話不多說,進入今天的正題,我在今後這一段時間,跟大家一起來分享 cowboy 這個開源的 erlang http 伺服器。
我們看下官方的簡介:
例子:
好,我們開始分析 cowboy這個專案,首先是,,
,,
kernel,
stdlib
]},]}.
資源檔案中的每個字段我們在這邊就不詳細介紹了,推薦沒有看過 erlang otp 設計原則 的朋友去看下,它能幫助你了解 erlang 整體上的結構,比如,應該程式下一般是監控程序,然後監控程序又負責監控子程序等等,當然,在這個文件中,詳細描述了上面所有欄位的含義。
-module-export([start/2, stop/1, profile_output/0]). %%
api.
| |.
%%api.
start(_type, _args) ->consider_profiling(),
cowboy_sup:start_link().
-spec stop(any()) ->ok.
stop(_state) ->ok.
-spec profile_output() ->ok.
profile_output() ->eprof:stop_profiling(),
eprof:log("procs.profile"),
eprof:analyze(procs),
eprof:log("total.profile"),
eprof:analyze(total).
%%internal.
-spec consider_profiling() -> profiling |not_profiling.
consider_profiling() ->
-> =eprof:start(),
eprof:start_profiling([self()]);
_ ->not_profiling
end.
}},在這裡 空列表,
_type 這個引數的值一般為 normal;
a time profiling tool for erlang 想研究的可以看下官方doc 大概意思就是 erlang **分析工具。
我們看 cowboy_sup:start_link() 這行的意思是啟動督程,就是監控程序,然後一般在其他子程序會在這棵監控程序樹下。
剩下乙個方法就是 stop(_state), 用於停止應用程式使用。
下面介紹下啟動應用程式的方法:
:start
(cowboy).
停止應用程式的方法: :
stop(cowboy).
今天就簡單介紹這2個檔案。謝謝
Mangos原始碼分析 一)
mangos 原始碼分析 realmd 登陸伺服器 realmd 主程式 launch the realm server int main int argc,char argv h.add authlistensocket 進行一些引數設定 while stopevent 伺服器主迴圈 return...
testlink原始碼分析 一
testlink是乙個很好的用例管理開源元件,因為我之前也作過乙個用例管理的系統,但是遠沒有testlink靈活,本著學習的態度,自己分析一下testlink的源 一點理解,和大家分享,希望能拋磚引玉。下面來看一下testlink的資料庫設計。1 許可權管理 testlink提供了豐富的許可權管理,...
rabbitmq原始碼分析(一)
解壓後工程很整齊 先分析啟動入口點,環境為win7,其實對程式入口點我一直不太了解,感覺erlang程式的入口點沒有固定的,雖然可以通過檔案中的一些東西來分析出來,感覺不方便。prepare方法是幹什麼的,哦確保時間管理器都安裝了必須的幾個事件處理模組。上 啟動rabbit時呼叫模組中的start ...