diameter_sctp
diameter_sctp
模块
diameter_sctp
模块摘要
Diameter传输通过SCTP。
描述
该模块使用SCTP实现直径传输gen_sctp(3)
。它可以被指定为一个transport_module选项的值diameter:add_transport/2
并且实现记录在其中的行为diameter_transport(3)
。
出口
start{Type, Ref}, Svc, [Opt]) -> {ok, Pid, [LAddr]} | {error, Reason}
类型
启动功能需要diameter_transport(3)
。
选项raddr
并rport
指定连接传输的远程地址和端口,并且对于监听传输无效:前者是必需的,而后者默认为3868(如果未指定)。raddr
可以指定多个选项,在这种情况下,所考虑的连接传输将依次尝试每个选项直到建立关联。
选项accept
指定监听传输的远程地址,对于连接传输无效。如果指定,则与指定地址不匹配的远程地址会导致关联中止。accept
可以指定多个选项。Match
不作为地址解析的字符串值被解释为正则表达式。
选项unordered指定是否使用无序传送,整数N等于N =< OS,在OS有关的协会上协商的出站流的数量是多少。无论配置如何,发送都是在流0上进行排序,直到接收到第二个传入消息,以确保对等方先于其他任何接收功能交换消息。默认为false。
选项packet
决定如何/如果传入消息打包到diameter_packet
记录中。如果false
接收到的消息是二进制()。如果true
接着作为bin
字段中的二进制()消息和字段中的{stream, Id}
元组的记录transport_data
,其中Id
接收消息的入站流的标识符在哪里。如果raw
那么作为记录在该transport_data
字段中接收到的辅助sctp_sndrcvinfo记录。默认为true
。
选项message_cb
和sender
语义与那些文档中的相同diameter_tcp(3)
,但消息参数recv
与packet
选项所指示的回调相同。
出口diameter_packet记录字段中的{outstream, Id}
元组transport_data
设置发送消息的出站流,以协商的出站流数为模。任何其他值都会导致连续的这种发送循环通过所有出站流。
其余选项是任何所接受gen_sctp:open/1
,与选项之外mode
,binary
,list
,active
和sctp_events
。需要注意的是选择ip
和port
分别指定本地地址和端口。
ip
可以为多宿主对等设备指定多个选项。如果没有指定随后的值Host-IP-Address
在diameter_service
使用记录。port
对于监听传输,选项默认为3868,对于连接传输,选项默认为0。
警告
小的接收缓冲区可能导致对等方不得不重新发送传入的消息:设置inet(3)
选项recbuf
以增加缓冲区大小。
一个小的发送缓冲区可能导致传出消息被丢弃:设置inet(3)
期权sndbuf
若要增加缓冲区大小,请执行以下操作。
另见
diameter(3)
,,,diameter_transport(3)
,,,gen_sctp(3)
,,,inet(3)