Exemplo n.º 1
0
        public int test()
        {
            NameXml p1 = new NameXml {
                name = "pp1"
            };
            NameXml p2 = new NameXml {
                name = "pp2"
            };
            NameXml p3 = new NameXml {
                name = "pp3"
            };
            NameXml p4 = new NameXml {
                name = "pp4"
            };

            ModuleCfgXml t1 = new ModuleCfgXml
            {
                name    = "t1",
                id      = 100,
                init    = 8,
                version = "0.1",
                depends = new DependsXml {
                    depend = new List <string> {
                        "dd1", "dd2"
                    }
                },
                subs = new SubsXml {
                    sub = new List <NameXml> {
                        p1, p2
                    }
                },
                pub = new NameXml {
                    name = "publish1"
                },
                subpubs = new SubPubsXml {
                    subpub = new List <SubPubXml> {
                        new SubPubXml {
                            pub = p1, sub = new List <NameXml> {
                                p1, p2
                            }
                        }
                    }
                },
                requests = new RequestsXml {
                    request = new List <NameXml> {
                        p3, p4
                    }
                },
                responses = new NameXml {
                    name = "response1"
                },
                fanins = new FaninsXml {
                    fanin = new List <NameXml> {
                        p2, p3
                    }
                },
                faninpubs = new FaninPubsXml {
                    faninpub = new List <FaninPubXml> {
                        new FaninPubXml {
                            fanin = p1, pub = p2
                        }
                    }
                },
                fanout = new FanoutXml {
                    fanout = new List <NameXml> {
                        p4, p1
                    }
                }
                //works = new WorksXml { work = new List<WorkXml> { new WorkXml { number = 1, pull = p1, push = p2 }, new WorkXml { number = 1, push = p3, pull = p4 } } }
            };


            string xml1 = XmlHelper.XmlSerialize(t1, Encoding.UTF8);
            string xml2 = XmlHelper.XmlSerialize(t1, Encoding.UTF8);

            Console.Out.WriteLine(xml1);
            Console.Out.WriteLine(xml2);
            return(0);
        }
Exemplo n.º 2
0
        private int InitMod2(ModuleCfgXml mx, ref ModInfo mod)
        {
            if (mod == null || mx == null)
            {
                Logging.logger.Error("the in put mod is null");
                return(-1);
            }
            //2
            mod.subs = new List <Point>();
            if (mx.subs != null)
            {
                foreach (NameXml p in mx.subs.sub)
                {
                    Point point = GetPubsPoint(p.name);
                    if (point != null)
                    {
                        mod.subs.Add(point);
                    }
                }
            }
            else
            {
            }


            //4
            if (mx.subpubs != null)
            {
                foreach (SubPubXml s in mx.subpubs.subpub)
                {
                    foreach (NameXml nx in s.sub)
                    {
                        Point p = GetPubsPoint(nx.name);
                        if (p != null)
                        {
                            foreach (SubPub sp in mod.subpubs)
                            {
                                if (sp.pub.name == s.pub.name)
                                {
                                    sp.subs.Add(p);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
            }

            //5
            mod.reqs = new List <Point>();
            if (mx.requests != null)
            {
                foreach (NameXml r in mx.requests.request)
                {
                    Point point = GetResponsePoint(r.name);
                    mod.reqs.Add(point);
                }
            }



            //8
            mod.faninc = new List <Point>();
            if (mx.faninc != null)
            {
                foreach (NameXml f in mx.faninc.fanin)
                {
                    Point p = GetFaninSPoint(f.name);

                    if (p != null)
                    {
                        mod.faninc.Add(p);
                    }
                }
            }

            //11
            mod.fanoutc = new List <Point>();
            if (mx.fanoutc != null)
            {
                foreach (NameXml fp in mx.fanoutc.fanout)
                {
                    Point p = GetFanoutSPoint(fp.name);
                    if (p != null)
                    {
                        mod.fanoutc.Add(p);
                    }
                }
            }

            mod.usertasks = new List <string>();
            if (mx.usertasks != null)
            {
                foreach (string s in mx.usertasks.name)
                {
                    mod.usertasks.Add(s);
                }
            }
            else
            {
            }

            mod.status = ModStatus.Init;
            return(0);
        }
Exemplo n.º 3
0
        private int InitCfg()
        {
            string[] fs = Files.GetAllFileNames(this.CfgPath, ModConst.ModFileFlag);

            if (fs == null)
            {
                Logging.logger.Error("Read mod config failed");
                return(-1);
            }

            List <ModuleCfgXml> rl = new List <ModuleCfgXml>();

            foreach (string f in fs)
            {
                ModuleCfgXml aa = XmlHelper.XmlDeserializeFromFile <ModuleCfgXml>(f, Encoding.UTF8);
                if (aa != null)
                {
                    rl.Add(aa);
                }
            }
            int     modid = 0;
            int     rlt;
            ModInfo mod;

            foreach (ModuleCfgXml mx in rl)
            {
                rlt = NewModIdWithName(mx.name, out modid);
                if (rlt < 0)
                {
                    Logging.logger.Error("get mod id failed");
                    continue;
                }

                mod = GetModinfoWithID(modid);
                InitMod(mx, ref mod);
            }

            foreach (ModuleCfgXml mx in rl)
            {
                mod = GetModinfoWithName(mx.name);
                InitMod2(mx, ref mod);

                if (Initlevel.ContainsKey(mod.init))
                {
                    if (Initlevel[mod.init].Contains(mod.modid))
                    {
                        Logging.logger.Warn("the mod id alread exist");
                    }
                    else
                    {
                        Initlevel[mod.init].Add(mod.modid);
                    }
                }
                else
                {
                    Initlevel.Add(mod.init, new List <int>());
                    Initlevel[mod.init].Add(mod.modid);
                }
            }
            return(0);
        }
Exemplo n.º 4
0
        private int InitMod(ModuleCfgXml mx, ref ModInfo mod)
        {
            mod.modname = mx.name;
            mod.init    = mx.init;
            mod.status  = ModStatus.Generate;
            mod.depends = new List <string>();
            mod.cls     = mx.cls;
            mod.ipaddr  = mx.ipaddr;
            int modport = mod.modid + 10;


            //1
            mod.depends = new List <string>();
            if (mx.depends != null)
            {
                foreach (string d in mx.depends.depend)
                {
                    mod.depends.Add(d);
                }
            }



            //3
            if (mx.pub != null)
            {
                mod.pub = new Point();
                {
                    mod.pub.ip   = mx.ipaddr;
                    mod.pub.port = modport++;
                    mod.pub.name = mx.pub.name;
                }
            }
            else
            {
                mod.pub = null;
            }

            //4
            mod.subpubs = new List <SubPub>();
            if (mx.subpubs != null)
            {
                foreach (SubPubXml s in mx.subpubs.subpub)
                {
                    SubPub sp = new SubPub();
                    sp.subs = new List <Point>();

                    sp.pub      = new Point();
                    sp.pub.name = s.pub.name;
                    sp.pub.ip   = mx.ipaddr;
                    sp.pub.port = modport++;
                    mod.subpubs.Add(sp);
                }
            }
            else
            {
            }



            //6
            if (mx.responses != null)
            {
                mod.Res      = new Point();
                mod.Res.name = mx.responses.name;
                mod.Res.ip   = mx.ipaddr;
                mod.Res.port = modport++;
            }
            else
            {
                mod.Res = null;
            }

            //7
            mod.fanins = new List <Point>();
            if (mx.fanins != null)
            {
                foreach (NameXml f in mx.fanins.fanin)
                {
                    Point point = new Point();
                    point.name = f.name;
                    point.ip   = mx.ipaddr;
                    point.port = modport++;

                    mod.fanins.Add(point);
                }
            }



            //9
            mod.faninpubs = new List <FaninPub>();
            if (mx.faninpubs != null)
            {
                foreach (FaninPubXml fp in mx.faninpubs.faninpub)
                {
                    FaninPub f = new FaninPub();
                    f.fanin      = new Point();
                    f.fanin.ip   = mx.ipaddr;
                    f.fanin.name = fp.fanin.name;
                    f.fanin.port = modport++;

                    f.pub      = new Point();
                    f.pub.ip   = mx.ipaddr;
                    f.pub.name = fp.pub.name;
                    f.pub.port = modport++;

                    mod.faninpubs.Add(f);
                }
            }

            //10
            mod.fanouts = new List <Point>();
            if (mx.fanout != null)
            {
                foreach (NameXml p in mx.fanout.fanout)
                {
                    Point point = new Point();
                    point.ip   = mx.ipaddr;
                    point.name = p.name;
                    point.port = modport++;

                    mod.fanouts.Add(point);
                }
            }


            mod.modport = modport;
            return(0);
        }