コード例 #1
0
ファイル: TinyMessageBus.cs プロジェクト: hdl217/TinyIpc
        /// <summary>
        /// Initializes a new instance of the TinyMessageBus class.
        /// </summary>
        /// <param name="memoryMappedFile">
        /// An instance of a ITinyMemoryMappedFile that will be used to transmit messages.
        /// The file should be larger than the size of all messages that can be expected to be transmitted, including message overhead, per minMessageAge.
        /// </param>
        /// <param name="disposeFile">Set to true if the file is to be disposed when this instance is disposed</param>
        /// <param name="minMessageAge">The minimum amount of time messages are required to live before removal from the file, default is half a second</param>
        public TinyMessageBus(ITinyMemoryMappedFile memoryMappedFile, bool disposeFile, TimeSpan minMessageAge)
        {
            this.memoryMappedFile = memoryMappedFile ?? throw new ArgumentNullException(nameof(memoryMappedFile));
            this.disposeFile      = disposeFile;
            this.minMessageAge    = minMessageAge;

            memoryMappedFile.FileUpdated += WhenFileUpdated;

            lastEntryId = DeserializeLogBook(memoryMappedFile.Read()).LastId;
        }
コード例 #2
0
        public TinyMessageBus(ITinyMemoryMappedFile memoryMappedFile, bool disposeFile, TimeSpan minMessageAge)
        {
            this.minMessageAge    = minMessageAge;
            this.memoryMappedFile = memoryMappedFile;
            this.disposeFile      = disposeFile;

            memoryMappedFile.FileUpdated += HandleIncomingMessages;

            Warmup();
        }
コード例 #3
0
ファイル: TinyMessageBus.cs プロジェクト: hdl217/TinyIpc
 /// <summary>
 /// Initializes a new instance of the TinyMessageBus class.
 /// </summary>
 /// <param name="memoryMappedFile">
 /// An instance of a ITinyMemoryMappedFile that will be used to transmit messages.
 /// The file should be larger than the size of all messages that can be expected to be transmitted, including message overhead, per half second.
 /// </param>
 /// <param name="disposeFile">Set to true if the file is to be disposed when this instance is disposed</param>
 public TinyMessageBus(ITinyMemoryMappedFile memoryMappedFile, bool disposeFile)
     : this(memoryMappedFile, disposeFile, DefaultMinMessageAge)
 {
 }