Example #1
0
 public string Spawn(BaseHandler handler)
 {
     return dispatcher.Spawn(handler);
 }
Example #2
0
 public string Spawn(string pid, BaseHandler handler)
 {
     dispatcher.Spawn(pid, handler); return pid;
 }
Example #3
0
 public string Spawn(string pid, BaseHandler handler)
 {
     if (pid.StartsWith("_"))
         throw new Exception("Invalid pid name");
     return InternalSpawn(pid, handler);
 }
Example #4
0
        private string InternalSpawn(string pid, BaseHandler handler)
        {
            handler.PID = pid;
            handler.dispatcher = this;

            var td = new TData { handler = handler };
            td.thread = new Thread(td.RunMsg);

            //var f1 = DateTime.Now;
            lock (handlers)
            {
                handlers.Add(td);
            }
            //var f2 = DateTime.Now.Subtract(f1);
            //Console.WriteLine(f2.TotalMilliseconds);

            td.thread.Start();

            Send(handler.PID, new SigOnly("create"));
            return pid;
        }
Example #5
0
 public string Spawn(BaseHandler handler)
 {
     return InternalSpawn("___" + (++ctr), handler);
 }