internal void OnServiceAdded(ServiceInfo service) { var announcement = new ServiceAnnouncement { Hostname = service.HostName.Labels[0], Domain = service.HostName.SubName(1).ToString(), Addresses = service.Addresses, Instance = service.Name.Labels[0], NetworkInterface = service.NetworkInterface, Port = (ushort)service.Port, Txt = service.Txt, Type = service.Name.SubName(1, 2).ToString() }; lock (_serviceAnnouncements) { _serviceAnnouncements.Add(Tuple.Create(service.NetworkInterface.Id, service.Name), announcement); } SynchronizationContextPost(o => { lock (Services) { _services.Add(announcement); } if (ServiceAdded != null) { ServiceAdded(this, new ServiceAnnouncementEventArgs(announcement)); } }); }
internal void OnServiceChanged(ServiceInfo service) { ServiceAnnouncement announcement; lock (_serviceAnnouncements) { announcement = _serviceAnnouncements[Tuple.Create(service.NetworkInterface.Id, service.Name)]; } var tmpAnnouncement = new ServiceAnnouncement() { Hostname = service.HostName.Labels[0], Domain = service.HostName.SubName(1).ToString(), Addresses = service.Addresses, Instance = service.Name.Labels[0], NetworkInterface = service.NetworkInterface, Port = (ushort)service.Port, Txt = service.Txt, Type = service.Name.SubName(1, 2).ToString() }; SynchronizationContextPost(o => { announcement.Hostname = tmpAnnouncement.Hostname; announcement.Domain = tmpAnnouncement.Domain; announcement.Addresses = tmpAnnouncement.Addresses; announcement.Instance = tmpAnnouncement.Instance; announcement.NetworkInterface = tmpAnnouncement.NetworkInterface; announcement.Port = tmpAnnouncement.Port; announcement.Txt = tmpAnnouncement.Txt; announcement.Type = tmpAnnouncement.Type; if (ServiceChanged != null) { ServiceChanged(this, new ServiceAnnouncementEventArgs(announcement)); } }); }
internal void OnServiceAdded(ServiceInfo service) { var announcement = new ServiceAnnouncement { Hostname = service.HostName.Labels[0], Domain = service.HostName.SubName(1).ToString(), Addresses = service.Addresses, Instance = service.Name.Labels[0], NetworkInterface = service.NetworkInterface, Port = (ushort)service.Port, Txt = service.Txt, Type = service.Name.SubName(1, 2).ToString() }; lock (_serviceAnnouncements) { _serviceAnnouncements.Add(Tuple.Create(service.NetworkInterface.Id, service.Name), announcement); } SynchronizationContextPost(o => { lock (_services) { _services.Add(announcement); } if (ServiceAdded != null) { ServiceAdded(this, new ServiceAnnouncementEventArgs(announcement)); } }); }
internal void OnServiceChanged(ServiceInfo service) { ServiceAnnouncement announcement; lock (_serviceAnnouncements) { announcement = _serviceAnnouncements[Tuple.Create(service.NetworkInterface.Id, service.Name)]; } var tmpAnnouncement = new ServiceAnnouncement() { Hostname = service.HostName.Labels[0], Domain = service.HostName.SubName(1).ToString(), Addresses = service.Addresses, Instance = service.Name.Labels[0], NetworkInterface = service.NetworkInterface, Port = (ushort)service.Port, Txt = service.Txt, Type = service.Name.SubName(1, 2).ToString() }; SynchronizationContextPost(o => { announcement.Hostname = tmpAnnouncement.Hostname; announcement.Domain = tmpAnnouncement.Domain; announcement.Addresses = tmpAnnouncement.Addresses; announcement.Instance = tmpAnnouncement.Instance; announcement.NetworkInterface = tmpAnnouncement.NetworkInterface; announcement.Port = tmpAnnouncement.Port; announcement.Txt = tmpAnnouncement.Txt; announcement.Type = tmpAnnouncement.Type; if (ServiceChanged != null) { ServiceChanged(this, new ServiceAnnouncementEventArgs(announcement)); } }); }
void printService(char startChar, ServiceAnnouncement service) { Console.WriteLine("{0} '{1}' on {2}", startChar, service.Instance, service.NetworkInterface.Name); foreach (var ipAddress in service.Addresses) { Console.WriteLine("\tHost: {0} ({1})", service.Hostname, ipAddress); } //Console.WriteLine("\tHost: {0} ({1})", service.Hostname, string.Join(", ", service.Addresses)); Console.WriteLine("\tPort: {0}", service.Port); Console.WriteLine("\tTxt : [{0}]", service.Txt); }
public void SendJson(ServiceAnnouncement service, string json) { }
static void printService(ServiceAnnouncement service) { Console.Write("{0}.{1}\n", service.Hostname, service.Domain); }
public ServiceAnnouncementEventArgs(ServiceAnnouncement announcement) { Announcement = announcement; }