Estoy escribiendo una aplicación Erlang distribuida donde varios nodos están conectados a través de una red con ancho de banda limitado. Por lo tanto, me gustaría poder minimizar el tamaño de los paquetes enviados a través de la red cuando los procesos en diferentes nodos se envían mensajes entre sí.Comprimir mensajes enviados entre los nodos de Erlang
De http://www.erlang.org/doc/apps/erts/erl_ext_dist.html, entiendo que el mecanismo de distribución de Erlang utiliza erlang: term_to_binary/1,2 internamente para convertir los mensajes Erlang al formato binario externo que se envía a través de la red. Ahora, term_to_binary/2 admite varias opciones que son útiles para reducir el tamaño de los binarios (http://www.erlang.org/doc/man/erlang.html#term_to_binary-1), incluida una opción de compresión, así como la posibilidad de elegir una versión menor con una codificación más eficiente de flotantes.
Me gustaría poder decirle al mecanismo de distribución que use estas dos opciones cada vez que envía un mensaje por la red. En otras palabras, me gustaría poder especificar la lista de Opciones con la que el mecanismo de distribución llama term_to_binary. Sin embargo, no he podido encontrar ninguna documentación sobre este tema. ¿Es posible hacer esto?
Gracias por su ayuda! :)
qué quiere hacer que las opciones de compresión configurable? En caso afirmativo, entonces debe tener algún tipo de archivo de configuración que contenga los términos de erlang y use el módulo "file: consultar". – Arunmu
Sí, me gustaría que esto sea configurable, y almacenar esta información en un archivo que se procesa con el archivo: consulte, como sugiere, sin duda funcionaría. Sin embargo, mi pregunta principal es cómo lograr que el mecanismo de distribución acepte las opciones que especifico para activar la compresión: esto es sobre lo que no he podido encontrar ninguna documentación. –
¿Cómo coincidiría el patrón con sus datos si está comprimido? – Arunmu