private void ctor(ErlLocalNode home) { m_TcpKeepAlive = home.TcpKeepAlive; m_TcpLinger = home.TcpLinger; m_TcpNoDelay = home.TcpNoDelay; m_TcpRcvBufSize = home.TcpRcvBufSize; m_TcpSndBufSize = home.TcpSndBufSize; }
public ErlRpcServer(ErlLocalNode owner) { m_Active = true; Node = owner; Self = Node.CreateMbox(ConstAtoms.Rex); m_Thread = new Thread(start); m_Thread.Name = "{0} RPC".Args(owner.NodeName); m_Thread.IsBackground = true; m_Thread.Start(); }
public ErlRpcServer(ErlLocalNode owner) { m_Active = true; Node = owner; Self = Node.CreateMbox(ConstAtoms.Rex); m_Thread = new Thread(threadSpin); m_Thread.Name = "{0} RPC".Args(owner.NodeName); m_Thread.IsBackground = true; m_Thread.Start(); }
public ErlIoServer(ErlLocalNode owner) { m_Active = true; Node = owner; Self = Node.CreateMbox(ConstAtoms.User); m_Thread = new Thread(threadSpin); m_Thread.Name = "{0} I/O".Args(owner.NodeName); m_Thread.IsBackground = true; m_Thread.Start(); }
public ErlIoServer(ErlLocalNode owner) { m_Active = true; Node = owner; Self = Node.CreateMbox(ConstAtoms.User); m_Thread = new Thread(startIO); m_Thread.Name = "{0} I/O".Args(owner.NodeName); m_Thread.IsBackground = true; m_Thread.Start(); }
private void node_NodeStatusChange(ErlLocalNode sender, ErlAtom node, bool up, object info) { if (!node.Equals(this.m_RemoteName)) { return; //filter-out nodes that are not mine } if (!up) { asyncReconnect(); } }
public ErlAcceptor(ErlLocalNode node, int port, IPAddress address = null) { m_Node = node; m_Sock = new TcpListener(address ?? Dns.GetHostEntry("localhost").AddressList[0], port); m_Sock.Start(); m_Port = ((System.Net.IPEndPoint)m_Sock.LocalEndpoint).Port; node.Port = this.m_Port; publishPort(); m_Thread = new Thread(threadSpin); m_Thread.IsBackground = true; m_Thread.Name = "acceptor " + node.NodeName; m_Thread.Start(); }
public void BeforeTest() { var node = new ErlLocalNode("test@localhost", true, false); node.Start(); ErlApp.Node = node; store = new ErlDataStore(); store.RemoteName = REMOTE_NAME; store.RemoteCookie = REMOTE_COOKIE; store.QueryResolver.ScriptAssembly = SCRIPT_ASM; //store.QueryResolver.RegisterHandlerLocation("NFX.NUnit.Integration.CRUD.ErlSpecific, NFX.NUnit.Integration"); store.Start(); clearAll(); }
bool IRunHook.Prologue(Runner runner, FID id, MethodInfo method, RunAttribute attr, ref object[] args) { var node = new ErlLocalNode("test@localhost", true, false); node.Start(); ErlApp.Node = node; store = new ErlDataStore(); store.RemoteName = REMOTE_NAME; store.RemoteCookie = REMOTE_COOKIE; store.QueryResolver.ScriptAssembly = SCRIPT_ASM; //store.QueryResolver.RegisterHandlerLocation("NFX.ITest.CRUD.ErlSpecific, NFX.ITest"); store.Start(); clearAll(); return false; }
private void btnErlang_Click(object sender, EventArgs e) { //connect to erlang var n = new ErlLocalNode("b", new ErlAtom("hahaha")); n.AcceptConnections = false; n.Start(); var m = n.CreateMbox("test"); var res = n.Send(m.Self, "[email protected]", "me", new ErlString("Hello! " + DateTime.Now)); if (!res) { Console.WriteLine("Can not send message"); } else { Console.WriteLine("Message sent"); } }
public MboxRegistry(ErlLocalNode enclosingInstance) { m_Node = enclosingInstance; m_ByPid = new ConcurrentDictionary <ErlPid, ErlMbox>(); m_ByName = new ConcurrentDictionary <ErlAtom, ErlMbox>(); }
/// <summary> /// Create a peer node /// </summary> public ErlRemoteNode(ErlLocalNode home, string toNode, ErlAtom? cookie = null) : base(toNode, cookie.HasValue ? cookie.Value : home.Cookie, home.UseShortName) { ctor(home); }
/// <summary> /// Constructor used for creating a remote node by the Acceptor of incoming connections /// </summary> /// <param name="home"></param> internal ErlRemoteNode(ErlLocalNode home) : this(home, ErlAtom.Null) { }
/// <summary> /// Create a peer node /// </summary> public ErlRemoteNode(ErlLocalNode home, ErlAtom toNode, ErlAtom?cookie = null) : base(toNode, cookie ?? home.Cookie, home.UseShortName) { ctor(home); }
/// <summary> /// Create a connection to a remote node /// </summary> /// <param name="self">the local node from which you wish to connect</param> /// <returns>A connection to the remote node</returns> public ErlConnection Connect(ErlLocalNode self) { return(new ErlConnection(self, this)); }
/// <summary> /// Create a connection to a remote node /// </summary> /// <param name="self">the local node from which you wish to connect</param> /// <returns>A connection to the remote node</returns> public ErlConnection Connect(ErlLocalNode self) { return new ErlConnection(self, this); }
/// <summary> /// Create a peer node /// </summary> public ErlRemoteNode(ErlLocalNode home, ErlAtom toNode, ErlAtom? cookie = null) : base(toNode, cookie ?? home.Cookie, home.UseShortName) { ctor(home); }