public void should_return_a_peer_descriptor_with_its_timestamp_kind_set_to_utc()
        {
            var unspecifiedKindUtcNow = new DateTime(DateTime.UtcNow.Ticks, DateTimeKind.Unspecified);
            var storagePeer = new StoragePeer { TimestampUtc = unspecifiedKindUtcNow, StaticSubscriptionsBytes = new byte[0]};

            var peerDescriptor = storagePeer.ToPeerDescriptor(new Subscription[0]);

            peerDescriptor.TimestampUtc.Value.Kind.ShouldEqual(DateTimeKind.Utc);
        }
Ejemplo n.º 2
0
        public static PeerDescriptor ToPeerDescriptor(this StoragePeer storagePeer)
        {
            if (storagePeer == null)
            {
                return(null);
            }
            var staticSubscriptions = DeserializeSubscriptions(storagePeer.StaticSubscriptionsBytes);

            return(new PeerDescriptor(new PeerId(storagePeer.PeerId), storagePeer.EndPoint, storagePeer.IsPersistent, storagePeer.IsUp,
                                      storagePeer.IsResponding, new DateTime(storagePeer.TimestampUtc.Ticks, DateTimeKind.Utc), staticSubscriptions)
            {
                HasDebuggerAttached = storagePeer.HasDebuggerAttached
            });
        }
Ejemplo n.º 3
0
        public static PeerDescriptor ToPeerDescriptor(this StoragePeer storagePeer, IEnumerable <Subscription> peerDynamicSubscriptions)
        {
            if (storagePeer?.StaticSubscriptionsBytes == null)
            {
                return(null);
            }

            var staticSubscriptions = DeserializeSubscriptions(storagePeer.StaticSubscriptionsBytes);
            var allSubscriptions    = staticSubscriptions.Concat(peerDynamicSubscriptions).Distinct().ToArray();

            return(new PeerDescriptor(new PeerId(storagePeer.PeerId), storagePeer.EndPoint, storagePeer.IsPersistent, storagePeer.IsUp,
                                      storagePeer.IsResponding, new DateTime(storagePeer.TimestampUtc.Ticks, DateTimeKind.Utc), allSubscriptions)
            {
                HasDebuggerAttached = storagePeer.HasDebuggerAttached
            });
        }