Example #1
0
        public static void Main(string[] args)
        {
            OtpNode pingNode = new OtpNode("ping");
            OtpNode pongNode = new OtpNode("pong");
            bool    ok       = pingNode.Ping("pong", 10000);

            pingNode.Close();
            pongNode.Close();
            Environment.Exit(ok ? 0 : 1);
        }
Example #2
0
        public static void Main(string[] args)
        {
            OtpNode b    = new OtpNode("b");
            var     echo = b.CreateMbox("echo");

            echo.Received += (e) =>
            {
                OtpErlangTuple t      = (OtpErlangTuple)e.Msg.Payload;
                OtpErlangPid   sender = (OtpErlangPid)t.ElementAt(0);
                Logger.Debug($"-> ECHO {t.ElementAt(1)} from {sender}");
                t[0] = e.Mbox.Self;
                e.Mbox.Send(sender, t);
            };

            OtpNode a        = new OtpNode("a");
            OtpMbox echoback = a.CreateMbox("echoback");

            echoback.Send(echo.Self, new OtpErlangTuple(echoback.Self, new OtpErlangString("Hello, World!")));
            Logger.Debug($"<- ECHO (back) {echoback.ReceiveMsg()}");

            a.Close();
            b.Close();
        }