示例#1
0
 public IProperties Register(IProperties properties)
 {
     lock (mGroups)
     {
         TestProperties tp = new TestProperties();
         tp.FromHeaders(properties.ToHeaders());
         Group group = mGroups.Find(e => e.Name == tp.Group);
         if (group == null)
         {
             group       = new Group();
             group.Name  = tp.Group;
             group.Nodes = new List <Node>();
             group.Nodes.Add(new Node {
                 Name = tp.Node, Host = tp.Host, Port = tp.Port, LastTrackTime = DateTime.Now
             });
             mGroups.Add(group);
         }
         else
         {
             Node node = group.Nodes.Find(n => n.Name == tp.Node);
             if (node != null)
             {
                 node.LastTrackTime = DateTime.Now;
             }
             else
             {
                 group.Nodes.Add(new Node {
                     Name = tp.Node, Host = tp.Host, Port = tp.Port, LastTrackTime = DateTime.Now
                 });
             }
         }
         return(new Properties());
     }
 }
示例#2
0
 public IProperties Register(IProperties properties)
 {
     lock (mGroups)
     {
         TestProperties tp = new TestProperties();
         tp.FromHeaders(properties.ToHeaders());
         Group group = mGroups.Find(e => e.Name == tp.Group);
         if (group == null)
         {
             group = new Group();
             group.Name = tp.Group;
             group.Nodes = new List<Node>();
             group.Nodes.Add(new Node { Name = tp.Node, Host = tp.Host, Port = tp.Port, LastTrackTime=DateTime.Now });
             mGroups.Add(group);
         }
         else
         {
             Node node = group.Nodes.Find(n =>  n.Name== tp.Node );
             if(node !=null)
                 node.LastTrackTime = DateTime.Now;
             else
                 group.Nodes.Add(new Node { Name = tp.Node, Host = tp.Host, Port = tp.Port, LastTrackTime = DateTime.Now });
         }
         return new Properties();
     }
 }
示例#3
0
 public TrackerInfo GetInfo(IProperties properties)
 {
     TrackerInfo result = new TrackerInfo();
     result.TypeName = "Beetle.Tracker.TestImpl.Group,Beetle.Tracker.TestImpl";
     TestProperties tp = new TestProperties();
     tp.FromHeaders(properties.ToHeaders());
     Group group = mGroups.Find(e => e.Name == tp.Group);
     if (group == null)
         return null;
     result.Data= Formater.ToStringValue(group);
     return result;
 }
示例#4
0
        public TrackerInfo GetInfo(IProperties properties)
        {
            TrackerInfo result = new TrackerInfo();

            result.TypeName = "Beetle.Tracker.TestImpl.Group,Beetle.Tracker.TestImpl";
            TestProperties tp = new TestProperties();

            tp.FromHeaders(properties.ToHeaders());
            Group group = mGroups.Find(e => e.Name == tp.Group);

            if (group == null)
            {
                return(null);
            }
            result.Data = Formater.ToStringValue(group);
            return(result);
        }