background preloader


Facebook Twitter

Chat and voice server. Erlware. Erlang Programming/Design Principles. Send Messages, do not share memory.

Erlang Programming/Design Principles

Messages are sent between processes. The compiler is very picky about what operations are "parallel-safe" and is not shy about letting you know. The compiler is particularly picky (parallel-safe) about sending and receiving messages. If you recurse after each message is processed then your code is more parallel-safe. Messages are delivered in order and are selected for removal from the queue by pattern matching (as in Prolog). Fail Early and Often Erlang designers often use an unusual but effective design technique called "fail early and often", FEO. Debugging Once a process has crashed we can gather crash information and let the programmer fix problems early.

Erlang Real Time Server - Part 1 - Diameter Server - Reinventing The Wheel. Diameter Basics There are several types of Diameter nodes - Client, Server, Relay, Proxy (we will focus only on the first two)Diameter nodes communicate with “commands”;Clients send a given command as “Request” and the server replays with the same command as “Answer”, e.g.

Erlang Real Time Server - Part 1 - Diameter Server - Reinventing The Wheel

Accounting-Request and Accounting-Answer - both will have the same command code (271), but in the case of the Client the ‘Command Flags’ ‘R’ bit will be set;Each command has a predefined set of attributes. If there is a need for additional attributes, they can be specified as “Vendor Specific Attribute Value Pairs” (or AVPs for short);RFC 3588 defines the basic set of AAA commands. Additional commands are defined in Diameter extensions called “Applications”. Don’t confuse them with the usual software applications (blame the Diameter creators for the poor choice of word here :), they are just declarative specifications (or ‘contracts’). [erlang-questions] cowboy / start_http ... multiple ports? - Google Groupes. Para poder utilizar los foros de debate de Grupos de Google, debes habilitar JavaScript en la configuración del navegador y, a continuación, actualizar la página.

[erlang-questions] cowboy / start_http ... multiple ports? - Google Groupes

¡Nuevo! Arrastra tus aplicaciones para cambiarlas de orden. Inicia sesión para probar esta función. MásAún más de Google Iniciar sesión Grupos Página principal Haz clic en el icono de estrella de un grupo para añadirlo a tus favoritos. Vistos recientemente. Esl/erlang_ale. List of TCP and UDP port numbers. This is a list of Internet socket port numbers used by protocols of the transport layer of the Internet Protocol Suite for the establishment of host-to-host connectivity.

List of TCP and UDP port numbers

Originally, port numbers were used by the Network Control Program (NCP) in the ARPANET for which two ports were required for half-duplex transmission. Later, the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) needed only one port for full-duplex, bidirectional traffic. Conclusion. Hey there, it appears your Javascript is disabled.


That's fine, the site works without it. However, you might prefer reading it with syntax highlighting, which requires Javascript! In erlang/OTP how do I start appmon to monitor an existing node. What is the most mature JSON library for Erlang. A Framework for Clustering Generic Server Instances - ErlangCentral Wiki. Groups. Heart. This modules contains the interface to the heart process. heart sends periodic heartbeats to an external port program, which is also named heart.


The purpose of the heart port program is to check that the Erlang runtime system it is supervising is still running. If the port program has not received any heartbeats within HEART_BEAT_TIMEOUT seconds (default is 60 seconds), the system can be rebooted. Erlang Websocket Server using Cowboy. NOTE: This is the translation of the original article I wrote in spanish for the wiki of Erlang Argentina.

Erlang Websocket Server using Cowboy

Introduction Out of curiosity, and because some of my own projects needed it, I decided to go ahead and try writing a websocket server in erlang. Load Balancing Across Erlang Process Groups. In the application we're working on at work we walk data through a series of steps, transforming it in each step.

Load Balancing Across Erlang Process Groups

This is an Erlang system, and each of those steps has a process group which is populated with one or more processes (where each process is a gen_server). Any member of a given process group can serve any file, so abstractly the logic is along the lines of: How to stop third-party Erlang applications. Erlang - Cowboy rest handler and gen_servers communication. Building a Non-blocking TCP server using OTP principles - ErlangCentral Wiki. Author Serge Aleynikov <saleyn at> Overview A reader of this tutorial is assumed to be familiar with gen_server and gen_fsm behaviours, TCP socket communications using gen_tcp module, active and passive socket modes, and OTP supervision principles.

Building a Non-blocking TCP server using OTP principles - ErlangCentral Wiki

OTP provides a convenient framework for building reliable applications. This is in part accomplished by abstracting common functionality into a set of reusable behaviours such as gen_server and gen_fsm that are linked to OTP's supervision hierarchy. There are several known TCP server designs. Run erlang application without terminal depending. Erlang - Can I use module pool to decide load balance.