public async Task <DeviceSource> ConnectAsync(string port, UInt16 universe) { try { var writer = await WriterFactory.CreateDmxWriterAsync(port); if (!Writers.Values.Any(x => x.UniverseID == universe)) { // start listening on a new universe SacnReceiver.JoinMulticastGroup(universe); } Writers.Add(port, new WriterEntry { Writer = writer, UniverseID = universe }); } catch (Exception ex) { await Console.Error.WriteAsync(ex.ToString()); throw new ExecutionError(ex.Message); } return(new DeviceSource { Id = port, Status = DeviceStatus.InUse, Universe = universe }); }
public BaseActivityStreamBox(ActivityStreamFilter filter, IActivityStreamRepository ctx) { this.filter = filter; this.ctx = ctx; //Writers.Add(new ObjectStreamWriter(File.Open(PathOf(null), FileMode.Append, FileAccess.Write, FileShare.Read), _serializer, ctx)); Writers.Add(new ObjectIdStreamWriter(OpenWrite(filter.ToPath(null)), ctx)); }
public void Write(DataBuffer buffer, Type type, object instance) { if (CanReadWrite(type) == false) { throw new Exception("Invalid model: Can not read/write"); } DataWriter writer = null; lock (LockObject) { if (Writers.ContainsKey(type) == false) { if (CoveredTypeMap.ContainsKey(type)) { writer = Writers[CoveredTypeMap[type]]; } else { Writers.Add(type, new DataWriter(this, type)); } } } if (writer == null) { writer = Writers[type]; } writer.Write(buffer, instance); }
private async void AddMultipleWriterButton_ClickHandler(object sender, RoutedEventArgs e) { try { IsBusy = true; int previousCount = Writers.Count; for (int i = 0; i < 10; i++) { IRunnable runnable = UseServiceBus ? (IRunnable) new ServiceBusWriter() : new EventHubsWriter(); if (!Settings.DisableRunning) { await runnable.Start().ConfigureAwait(false); } Writers.Add(runnable); } Data.RecordSettingChange("Writer Count", previousCount, Writers.Count); } catch (Exception ex) { Data.Error("MainWindow", "Failed to start multiple writers.", ex); } finally { IsBusy = false; } }
public void CreateIndexOn(ActivityStreamFilter filter) { filter = this.filter.Extend(filter); var path = filter.ToUri(null); Writers.Add(new FilteredObjectIdStreamWriter(filter, OpenWrite(path), ctx)); Indexes.Add(filter); }
private void initLog() { string nameDateFormat = "yyyy-MM-dd_hh-mm-ss"; string logDateFormat = "yyyy-MM-dd hh:mm:ss"; Log.Message += (o, e) => { /* This is going to be purely a message log to keep all messages said in channels by non-bot users, * unless it's a Terraria channel. Source will always be channel name, and each channel will have * a separate folder. */ if (!String.IsNullOrWhiteSpace(e.Source)) { Directory.CreateDirectory(Path.Combine(TShock.SavePath, LOG_PATH, e.Source)); string filename = $"{DateTime.Now.ToString(nameDateFormat)}.log"; string date = DateTime.Now.ToString(logDateFormat); if (!Writers.ContainsKey(e.Source)) { Writers.Add(e.Source, new StreamWriter( new FileStream(Path.Combine(TShock.SavePath, LOG_PATH, e.Source, filename), FileMode.Append, FileAccess.Write, FileShare.Read)) { AutoFlush = true }); } try { if (e.Severity == LogSeverity.Info) { Writers[e.Source].WriteLine($"{date} - {e.Message}"); } else { Writers[e.Source].WriteLine($"{date} - {e.Severity.ToString()}: {e.Message}"); } } catch (ObjectDisposedException) { // This is normal behaviour for if we attempt to write to the log after it has been disposed } } }; }
public void AddReaderWriter(Type type, DataWriter writer, DataReader reader, bool covered = false) { lock (LockObject) { Writers.Add(type, writer); Readers.Add(type, reader); } if (covered) { var collisions = CoveredTypes.Where(i => i.IsAssignableFrom(type) || type.IsAssignableFrom(i)); if (collisions.Any()) { throw new Exception(string.Format("Types {0} and {1} cannot implement one another", collisions.First().Name, type.Name)); } CoveredTypes.Add(type); } }
/// <summary> /// Añade un objeto de escritura del log /// </summary> public void AddWriter(Interfaces.ILogWriter writer) { Writers.Add(writer); }
public void AddWriter(User writer) { Writers.Add(writer); }
protected override void RegisterWriters() { Writers.Add(typeof(ConnectionStringSettings), WriteConnSetting); }
protected override void RegisterWriters() { Writers.Add(typeof(KeyValueConfigurationElement), WriteAppSetting); Writers.Add(typeof(ConnectionStringSettings), WriteConnectionString); }
public void RegisterReaderAndWriter(PulsarMod plugin, Action <BinaryReader> reader, Action <BinaryWriter> writer) { Readers.Add(plugin.Name, reader); Writers.Add(plugin.Name, writer); }
public void RegisterReaderAndWriter(string name, Action <BinaryReader> reader, Action <BinaryWriter> writer) { Readers.Add(name, reader); Writers.Add(name, writer); }
public void RegisterWriter(string name, Action <BinaryWriter> writer) => Writers.Add(name, writer);
public void RegisterWriter(PulsarMod plugin, Action <BinaryWriter> writer) => Writers.Add(plugin.Name, writer);
public static void AddWriter(Writer writer) { Writers.Add(writer); }