非常教程

Erlang 20参考手册

megaco

megaco_transport

模块

megaco_transport

模块摘要

Megaco运输行为。

描述

应该从megaco_transport回调模块:

  • send_message/2mandatory
  • send_message/3optional
  • resend_message/2optional

输出

Module:send_message(Handle, Msg) -> ok | {cancel, Reason} | ErrorModule:send_message(Handle, Msg, Resend) -> ok | {cancel, Reason} | Error

类型

发送megaco消息。

如果函数返回{cancel, Reason},这意味着传输模块决定不发送消息。这不是一个错误。不会发出错误消息,也不会增加错误计数器。这将导致什么样的行为取决于发送什么样的消息。

在请求的情况下,megaco将以与megaco相同的方式取消该消息:取消已被调用(在成功发送之后)。 信息将根据发出的请求的不同而传播回给用户:对于使用megaco:call发出的请求,信息将以返回值传递。 对于使用megaco发出的请求:投射信息将通过调用传递给回调函数handle_trans_reply。

在回复的情况下,megaco将取消回复,并通过调用回调函数handle_trans_ack将这些信息返回给用户。

send_message / 3函数只有在resend_indication config选项已设置为值标志时才会被调用。 第三个参数“重新发送”表示发送的消息是否是重新发送。

Module:resend_message(Handle, Msg) -> ok | {cancel, Reason} | Error

类型

重新发送megaco消息。

请注意,只有在用户已将resend_indicationconfig选项设置为true并且实际上是重新发送消息时才会调用此函数。如果这两个条件都不符合,send_message则会被调用。

如果函数返回{cancel, Reason},这意味着传输模块决定不发送消息。这不是一个错误。不会发出错误消息,也不会增加错误计数器。这将导致什么样的行为取决于发送什么样的消息。

在请求的情况下,megaco将以与megaco:cancel被调用(在成功发送之后)几乎相同的方式取消该消息。信息将以不同方式传播给用户,具体取决于发出的请求的方式:对于使用的请求megaco:call,信息将以返回值传递。对于使用megaco:cast该信息发出的请求将通过呼叫传递给回调函数handle_trans_reply

在回复的情况下,megaco将取消回复,并通过调用回调函数handle_trans_ack将这些信息返回给用户。

Erlang 20

Erlang 是一种通用的面向并发的编程语言,可应付大规模开发活动的程序设计语言和运行环境。

主页 https://www.erlang.org/
源码 https://github.com/erlang/otp
版本 20
发布版本 20.1