public ReceiveConfig ReadReceiveConfig()
        {
            if (!File.Exists("config.xml"))
            {
                throw new Exception(
                          "XML configuration does not exist.");
            }

            var xmlDoc = new XmlDocument();

            xmlDoc.Load("config.xml");
            var configNode = GetXmlNode(xmlDoc.DocumentElement, "/configuration");

            var receiveConfig = new ReceiveConfig
            {
                ReceiveDelayMs = TryParseValue <int>(GetXmlNode(configNode, "receive-delay-ms"), int.TryParse),
                MulticastGroup = TryParseValue <IPAddress>(GetXmlNode(configNode, "multicast-group"), IPAddress.TryParse),
                MulticastPort  = TryParseValue <int>(GetXmlNode(configNode, "multicast-port"), int.TryParse)
            };

            if (receiveConfig.ReceiveDelayMs >= 1000)
            {
                throw new Exception("XML configuration is invalid: 'receive-delay-ms' should be less than 1000 ms.");
            }

            return(receiveConfig);
        }
Beispiel #2
0
        /// <summary>
        /// Create a new pack receive for an open repository.
        /// </summary>
        /// <param name="into">the destination repository.</param>
        public ReceivePack(Repository into)
        {
            db   = into;
            walk = new RevWalk.RevWalk(db);

            ReceiveConfig cfg = db.Config.get(ReceiveConfig.KEY);

            checkReceivedObjects = cfg._checkReceivedObjects;
            allowCreates         = cfg._allowCreates;
            allowDeletes         = cfg._allowDeletes;
            allowNonFastForwards = cfg._allowNonFastForwards;
            allowOfsDelta        = cfg._allowOfsDelta;
            refFilter            = RefFilterContants.DEFAULT;
            preReceive           = PreReceiveHook.NULL;
            postReceive          = PostReceiveHook.NULL;
        }
 public ValuesReceiver(ReceiveConfig receiveConfig)
 {
     _receiveConfig  = receiveConfig;
     ReceivedPackets = new ConcurrentQueue <byte[]>();
 }