// Copyright (C) 2015, The Duplicati Team // http://www.duplicati.com, info@duplicati.com // // This library is free software; you can redistribute it and/or modify // it under the terms of the GNU Lesser General Public License as // published by the Free Software Foundation; either version 2.1 of the // License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA using System; using CoCoL; namespace Duplicati.Library.Main.Operation.Backup { /// /// Static typed definitions of channels used for the backup process /// internal static class Channels { /// /// Requests to the backend are send over this channel and picked up by the class /// public static readonly ChannelMarkerWrapper BackendRequest = new ChannelMarkerWrapper(new ChannelNameAttribute("BackendRequests")); /// /// When the backup completes, all in-progress archives are sent from the to the /// public static readonly ChannelMarkerWrapper SpillPickup = new ChannelMarkerWrapper(new ChannelNameAttribute("SpillPickup")); /// /// All data blocks are sent during the scanning to the who bundles them in compressed archives /// public static readonly ChannelMarkerWrapper OutputBlocks = new ChannelMarkerWrapper(new ChannelNameAttribute("OutputBlocks")); /// /// If a file has changes in the metadata, it is sent to the where it is read /// public static readonly ChannelMarkerWrapper AcceptedChangedFile = new ChannelMarkerWrapper(new ChannelNameAttribute("AcceptedChangedFile")); /// /// If a file has changes in the metadata, it is sent to the where it is read /// public static readonly ChannelMarkerWrapper StreamBlock = new ChannelMarkerWrapper(new ChannelNameAttribute("StreamBlockSplitter")); /// /// After metadata has been processed and collected, the sends the file data to the /// public static readonly ChannelMarkerWrapper ProcessedFiles = new ChannelMarkerWrapper(new ChannelNameAttribute("ProcessedFiles")); /// /// When enumerating the source folders, all discovered paths are sent by the to the /// public static readonly ChannelMarkerWrapper SourcePaths = new ChannelMarkerWrapper(new ChannelNameAttribute("SourcePaths")); /// /// All progress events are communicated over this channel, to ensure that parallel progress is reported as a if it was sequential /// public static readonly ChannelMarkerWrapper ProgressEvents = new ChannelMarkerWrapper(new ChannelNameAttribute("ProgressEvents")); } }