我正在编写一个分布式Erlang应用程序,其中几个节点通过有限带宽的网络连接。因此,我希望能够在不同节点上的进程相互发送消息时,最小化通过网络发送的数据包的大小。压缩Erlang节点之间发送的消息
从http://www.erlang.org/doc/apps/erts/erl_ext_dist.html我知道Erlang分配机制在内部使用erlang:term_to_binary/1,2将Erlang消息转换为通过网络发送的外部二进制格式。现在,term_to_binary/2支持几个选项,这些选项可用于减小二进制文件的大小(http://www.erlang.org/doc/man/erlang.html#term_to_binary-1),包括压缩选项以及通过更高效的浮点编码选择次版本的功能。
我希望能够告诉分配机制在每次通过网络发送消息时都使用这两个选项。换句话说,我希望能够指定分配机制调用term_to_binary的选项列表。但是,我一直无法找到关于此主题的任何文档。这可能吗?
感谢您的帮助! :)
吗?如果是,那么你应该使用某种包含erlang条款的配置文件并使用“file:consult”模块。 – Arunmu 2011-04-23 09:45:01
是的,我希望这是可配置的,并将这些信息存储在一个文件中,这个文件是用file:consult来处理的,正如你所建议的那样,肯定会起作用。然而,我的主要问题是如何真正让分配机制接受我指定的选项来启用压缩 - 这是我无法找到任何文档的。 – 2011-04-23 16:20:02
如果您的数据被压缩,您将如何匹配您的数据? – Arunmu 2011-04-24 05:39:12