예제 #1
0
        /// <summary>
        /// Process the version list message and peer.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <param name="peer">The peer.</param>
        internal void Process(VersionListMessage message, Peer peer)
        {
            List <FileEvent> versionRequest;

            lock (this.versionControl.VersionList)
            {
                versionRequest = this.versionControl.VersionList.GetLessThan(message.List);
                Logger.Info("Received version list from {1}\n{0}", message.List.Serialize(), peer.Serialize());
            }

            // Don't request them now, add them to a request queue first
            this.requestManager.AddRequests(versionRequest, peer);
            this.TryToRequest();
        }