本文整理汇总了C#中AtomCollection.SetHostVersionVP方法的典型用法代码示例。如果您正苦于以下问题:C# AtomCollection.SetHostVersionVP方法的具体用法?C# AtomCollection.SetHostVersionVP怎么用?C# AtomCollection.SetHostVersionVP使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AtomCollection
的用法示例。
在下文中一共展示了AtomCollection.SetHostVersionVP方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PostHostInfo
private void PostHostInfo(AtomCollection parent, Channel channel, bool playing)
{
var host = channel.SelfNode;
var hostinfo = new AtomCollection();
hostinfo.SetHostChannelID(channel.ChannelID);
hostinfo.SetHostSessionID(PeerCast.SessionID);
var globalendpoint = host.GlobalEndPoint;
if (globalendpoint!=null) {
hostinfo.AddHostIP(globalendpoint.Address);
hostinfo.AddHostPort(globalendpoint.Port);
}
var localendpoint = host.LocalEndPoint;
if (localendpoint!=null) {
hostinfo.AddHostIP(localendpoint.Address);
hostinfo.AddHostPort(localendpoint.Port);
}
hostinfo.SetHostNumListeners(channel.TotalDirects);
hostinfo.SetHostNumRelays(channel.TotalRelays);
hostinfo.SetHostUptime(channel.Uptime);
if (channel.Contents.Count > 0) {
hostinfo.SetHostOldPos((uint)(channel.Contents.Oldest.Position & 0xFFFFFFFFU));
hostinfo.SetHostNewPos((uint)(channel.Contents.Newest.Position & 0xFFFFFFFFU));
}
hostinfo.SetHostVersion(PCP_VERSION);
hostinfo.SetHostVersionVP(PCP_VERSION_VP);
hostinfo.SetHostFlags1(
(PeerCast.AccessController.IsChannelRelayable(channel) ? PCPHostFlags1.Relay : 0) |
(PeerCast.AccessController.IsChannelPlayable(channel) ? PCPHostFlags1.Direct : 0) |
((!PeerCast.IsFirewalled.HasValue || PeerCast.IsFirewalled.Value) ? PCPHostFlags1.Firewalled : 0) |
PCPHostFlags1.Tracker |
(playing ? PCPHostFlags1.Receiving : PCPHostFlags1.None));
parent.SetHost(hostinfo);
}