Пример #1
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="server">server to replicate to</param>
        /// <param name="serverURL">Server's url to replicate to</param>
        private void ReplicatePadInts(IDataServer server, String serverURL)
        {
            List<PadIntMetadata> toRemove = new List<PadIntMetadata>();
            foreach (PadIntMetadata meta in nonReplicatedPadInts)
            {
                IDataServer dataServer = (IDataServer)Activator.GetObject(
                        typeof(IDataServer),
                        meta.servers.ToArray()[0]); //there's only one element in the list after removing the faulty server
                PadInt p = dataServer.AccessPadInt(meta.uid);
                server.StorePadInt(meta.uid, p);
                dataServers[serverURL].PadintCount++;
                metadata[meta.uid].servers.Add(serverURL);
                toRemove.Add(meta);
            }

            foreach(PadIntMetadata meta in toRemove) {
                nonReplicatedPadInts.Remove(meta);
            }
        }