Erlang行为创建与发布管理
1. 创建自定义行为
创建自定义行为时,需将代码拆分为通用模块和特定模块,并定义回调函数及其返回值。创建时需遵循以下规则:
- 通用模块的名称必须与行为名称相同。
- 在行为模块中列出回调函数。
- 在回调模块中包含 -behavior(BehaviorName). 指令。
编译通用行为代码后,若在编译回调模块时遗漏任何回调,带有行为指令的编译会产生警告。
1.1 处理TCP流的示例
以下是一个封装TCP流相关活动的示例,包括连接、配置和错误处理,仅暴露接收到的数据流。
回调模块 tcp_print
-module(tcp_print).
-export([init_request/0, get_request/2, stop_request/2]).
-behavior(tcp_wrapper).
init_request() ->
io:format("Receiving Data~n."),
{ok,[]}.
get_request(Data, Buffer)->
io:format("."),
{ok, [Data|Buffer]}.
stop_request(_Reason, Buffer) ->
io:format("~n"),
io:format(lists:reverse(Buffer)),
io:format("~n").
超级会员免费看
订阅专栏 解锁全文
1263

被折叠的 条评论
为什么被折叠?



