internal static KVPair ToKVPair(ConsulSiloRegistration siloRegistration)
        {
            var ret = new KVPair(ConsulSiloRegistrationAssembler.ParseDeploymentSiloKey(siloRegistration.DeploymentId, siloRegistration.Address));

            ret.ModifyIndex = siloRegistration.LastIndex;
            ret.Value       = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(siloRegistration));
            return(ret);
        }
示例#2
0
        internal static ConsulSiloRegistration FromMembershipEntry(String deploymentId, MembershipEntry entry, String etag)
        {
            var ret = new ConsulSiloRegistration
            {
                DeploymentId    = deploymentId,
                Address         = entry.SiloAddress,
                IAmAliveTime    = entry.IAmAliveTime,
                LastIndex       = Convert.ToUInt64(etag),
                Hostname        = entry.HostName,
                ProxyPort       = entry.ProxyPort,
                StartTime       = entry.StartTime,
                Status          = entry.Status,
                SuspectingSilos = entry.SuspectTimes.Select(silo => new SuspectingSilo {
                    Id = silo.Item1.ToParsableString(), Time = silo.Item2
                }).ToList()
            };

            return(ret);
        }
        internal static Tuple <MembershipEntry, String> ToMembershipEntry(ConsulSiloRegistration siloRegistration)
        {
            var entry = new MembershipEntry
            {
                SiloAddress  = siloRegistration.Address,
                HostName     = siloRegistration.Hostname,
                Status       = siloRegistration.Status,
                ProxyPort    = siloRegistration.ProxyPort,
                StartTime    = siloRegistration.StartTime,
                SuspectTimes = siloRegistration.SuspectingSilos.Select(silo => new Tuple <SiloAddress, DateTime>(SiloAddress.FromParsableString(silo.Id), silo.Time)).ToList(),
                IAmAliveTime = siloRegistration.IAmAliveTime,
                SiloName     = siloRegistration.SiloName,

                // Optional - only for Azure role so initialised here
                RoleName   = String.Empty,
                UpdateZone = 0,
                FaultZone  = 0
            };

            return(new Tuple <MembershipEntry, String>(entry, siloRegistration.LastIndex.ToString()));
        }
        internal static Tuple<MembershipEntry, String> ToMembershipEntry(ConsulSiloRegistration siloRegistration)
        {
            var entry = new MembershipEntry
            {
                SiloAddress = siloRegistration.Address,
                HostName = siloRegistration.Hostname,
                Status = siloRegistration.Status,
                ProxyPort = siloRegistration.ProxyPort,
                StartTime = siloRegistration.StartTime,
                SuspectTimes = siloRegistration.SuspectingSilos.Select(silo => new Tuple<SiloAddress, DateTime>(SiloAddress.FromParsableString(silo.Id), silo.Time)).ToList(),
                IAmAliveTime = siloRegistration.IAmAliveTime,
                SiloName = siloRegistration.SiloName,

                // Optional - only for Azure role so initialised here
                RoleName = String.Empty,
                UpdateZone = 0,
                FaultZone = 0
            };

            return new Tuple<MembershipEntry, String>(entry, siloRegistration.LastIndex.ToString());
        }
 internal static KVPair ToKVPair(ConsulSiloRegistration siloRegistration)
 {
     var ret = new KVPair(ConsulSiloRegistrationAssembler.ParseDeploymentSiloKey(siloRegistration.DeploymentId, siloRegistration.Address));
     ret.ModifyIndex = siloRegistration.LastIndex;
     ret.Value = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(siloRegistration));
     return ret;
 }
        internal static ConsulSiloRegistration FromMembershipEntry(String deploymentId, MembershipEntry entry, String etag)
        {
            var ret = new ConsulSiloRegistration
            {
                DeploymentId = deploymentId,
                Address = entry.SiloAddress,
                IAmAliveTime = entry.IAmAliveTime,
                LastIndex = Convert.ToUInt64(etag),
                Hostname = entry.HostName,
                ProxyPort = entry.ProxyPort,
                StartTime = entry.StartTime,
                Status = entry.Status,
                SiloName = entry.SiloName,
                SuspectingSilos = entry.SuspectTimes.Select(silo => new SuspectingSilo { Id = silo.Item1.ToParsableString(), Time = silo.Item2 }).ToList()
            };

            return ret;
        }