public void Should_receive_all_events_published_as_a_stream() { ManualResetEvent signal = new ManualResetEvent(false); ReaderHandler handler = new ReaderHandler(signal); _streamingBus.SubscribeToReader(handler); IList <TestStreamEvent> streamEvents = new List <TestStreamEvent>(); streamEvents.Add(new TestStreamEvent(1)); streamEvents.Add(new TestStreamEvent(2)); streamEvents.Add(new TestStreamEvent(3)); using (IEventStream stream = _streamingBus.CreateStream(typeof(TestStreamEvent).FullName)) { stream.BatchLimit = 2; foreach (TestStreamEvent @event in streamEvents) { stream.Publish(@event); } } signal.WaitOne(TimeSpan.FromSeconds(10)); Assert.That(handler.ReceivedEvents, Is.Not.Null, "The collection of events was not receieved before the timeout expired."); Assert.That(handler.ReceivedEvents.Length, Is.EqualTo(3)); Assert.That(handler.ReceivedEvents.Select(e => e.Event), Is.Ordered.By("Sequence")); }
internal bool Initialize() { try { if (Process is null || Process.Id < 1 || Pid != 0) { BmpSeer.Instance.PublishEvent(new GameExceptionEvent(this, Pid, new BmpSeerException("Game process is null or already initialized."))); return(false); } Pid = Process.Id; InitInformation(); _eventDedupeHistory = new Dictionary <Type, long>(); _eventQueueHighPriority = new ConcurrentQueue <SeerEvent>(); _eventQueueLowPriority = new ConcurrentQueue <SeerEvent>(); _eventQueueOpen = true; DatReader = new ReaderHandler(this, new DatFileReaderBackend(1)); MemoryReader = new ReaderHandler(this, new SharlayanReaderBackend(1)); NetworkReader = new ReaderHandler(this, new MachinaReaderBackend(1)); _shouldRunEventQueueThread = true; _eventQueueThread = new Thread(RunEventQueue) { IsBackground = true }; _eventQueueThread.Start(); BmpSeer.Instance.PublishEvent(new GameStarted(this, Pid)); } catch (Exception ex) { BmpSeer.Instance.PublishEvent(new GameExceptionEvent(this, Pid, ex)); return(false); } return(true); }
public TypeCommandRule(String id, T value, ReaderHandler <String> handler = null) : base(id, handler) { Value = value; Initialize(typeof(T) == typeof(Type) ? value as Type : value?.GetType() ?? typeof(T)); }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); _basicHandler = new ReaderHandler(this); StartLoopTemperatureTimer(); SetContentView(Resource.Layout.reader_main); _selectedIndex = Intent.GetIntExtra("index", 0); Init(_selectedIndex); }
public List <DatoExtraccion> ObtenerListaElementos(List <ConsultaDinamica> queryes) { string ConnStr = QueryHandler.ConeccionBBDD; List <DatoExtraccion> datos = new List <DatoExtraccion>(); List <String> lista = new List <String>(); using (OracleConnection connection = new OracleConnection(ConnStr)) { OracleCommand cmd = null; connection.Open(); foreach (var q in queryes) { DatoExtraccion Tabla = new DatoExtraccion(); cmd = new OracleCommand(q.Query, connection); foreach (var p in q.Parametros.Keys) { cmd.Parameters.Add(new OracleParameter(p, q.Parametros[p])); } Tabla.Tabla = q.Tabla; using (var reader = cmd.ExecuteReader()) { if (reader.Read()) { foreach (var c in q.MeotodosColumnas) { if (Tabla.Columnas.Keys.Any(x => x.Equals(c.Key))) { Tabla.Columnas[c.Key].Add(ReaderHandler.Read(reader, c.Key, c.Value)); } else { Tabla.Columnas.Add(c.Key, new List <string>() { ReaderHandler.Read(reader, c.Key, c.Value) }); } } } reader.Close(); } Tabla.Columnas = (new QueryTablas(Tabla)).DatosProcesados; datos.Add(Tabla); } } return(datos); }
public static void Main(string[] args) { IApplicationContext springContainer = ContextRegistry.GetContext(); IStandardStreamingEventBus streamingEventBus = springContainer.GetObject( typeof(IStandardStreamingEventBus).FullName) as IStandardStreamingEventBus; IStreamingReaderHandler<ModernMajorGeneralMessage> handler = new ReaderHandler(); streamingEventBus.SubscribeToReader(handler); Console.WriteLine("If all events have been received, hit the Enter Key to exit the program."); Console.Read(); Environment.Exit(0); }
virtual protected async Task MessageReceivedHandler(ServiceBusReceivedMessage receivedMessage)//, CancellationToken token) { try { // Process message from subscription. if (receivedMessage.ApplicationProperties.ContainsKey(MessageFactory.MessageModePropertyName)) { var prop = receivedMessage.ApplicationProperties[MessageFactory.MessageModePropertyName]; #endif string propName = Convert.ToString(prop); if (!string.IsNullOrEmpty(propName)) { MessageModes messageMode; bool parsed = Enum.TryParse(propName, out messageMode); if (parsed) { EventMessage msg = null; switch (messageMode) { case MessageModes.Simple: msg = ReaderHandler.GetSimpleMessage(receivedMessage, TypeToDeserialize, MessageDeserializer); MessageReceived(msg, receivedMessage); break; case MessageModes.GZip: msg = await ReaderHandler.GetZippedMessage(receivedMessage, TypeToDeserialize, MessageDeserializer); MessageReceived(msg, receivedMessage); break; case MessageModes.Chunk: msg = await ReaderHandler.GetChunkedMessage(receivedMessage, ChunkDictionary, TypeToDeserialize, MessageDeserializer); if (msg != null) { MessageReceived(msg, receivedMessage); } break; case MessageModes.Storage: msg = await ReaderHandler.GetStoredMessage(receivedMessage, Storage, TypeToDeserialize, MessageDeserializer); MessageReceived(msg, receivedMessage); break; default: break; } } } } } catch { throw; } }
public void RunQuery(string query, ReaderHandler callback) { listOfHandlers += callback; try { Connector = new MySqlConnection(ConnectionString); Connector.Open(); Command = new MySqlCommand(query, Connector); Reader = Command.ExecuteReader(); listOfHandlers(Reader);//the caller can use reader object before connection is closed Connector.Close(); } catch (Exception ex) { throw ex; } }
internal bool Initialize() { try { if (Process is null || Process.Id < 1 || Pid != 0) { BmpSeer.Instance.PublishEvent(new GameExceptionEvent(this, Pid, new BmpSeerException("Game process is null or already initialized."))); return(false); } Pid = Process.Id; InitInformation(); _eventDedupeHistory = new Dictionary <Type, long>(); _eventQueueHighPriority = new ConcurrentQueue <SeerEvent>(); _eventQueueLowPriority = new ConcurrentQueue <SeerEvent>(); _eventQueueOpen = true; DatReader = new ReaderHandler(this, new DatFileReaderBackend(1)); MemoryReader = new ReaderHandler(this, new SharlayanReaderBackend(1)); NetworkReader = new ReaderHandler(this, new MachinaReaderBackend(1)); _eventTokenSource = new CancellationTokenSource(); Task.Factory.StartNew(() => RunEventQueue(_eventTokenSource.Token), TaskCreationOptions.LongRunning); BmpSeer.Instance.PublishEvent(new GameStarted(this, Pid)); } catch (Exception ex) { BmpSeer.Instance.PublishEvent(new GameExceptionEvent(this, Pid, ex)); return(false); } return(true); }
public TypeCommandRule(T value, ReaderHandler <String> handler = null) : this(value?.GetType().Name ?? typeof(T).Name, value, handler) { }
public StringNestedCommandRule(String id, ReaderHandler <String> handler = null) : base(id, handler) { }
public CommandRule(T id, ReaderHandler <T> handler = null) : base(handler) { Id = id; }
public static System.Collections.Generic.List <T> ExecuteReaderWithList <T>(string connectionString, CommandType cmdType, string cmdText, ReaderHandler <T> handler, params OracleParameter[] commandParameters) { System.Collections.Generic.List <T> l = new System.Collections.Generic.List <T>(); using (OracleDataReader rdr = ExecuteReader(connectionString, cmdType, cmdText, commandParameters)) { while (rdr.Read()) { T value = handler(rdr); l.Add(value); } return(l); } }
public DefaultCommandRule(T id, ReaderHandler <T> handler = null, IEqualityComparer <T> comparer = null) : base(id, handler, comparer) { }
public static T ExecuteReaderWithOneResult <T>(string connectionString, CommandType cmdType, string cmdText, ReaderHandler <T> handler, params OracleParameter[] commandParameters) { using (OracleDataReader rdr = ExecuteReader(connectionString, cmdType, cmdText, commandParameters)) { if (rdr.Read()) { T value = handler(rdr); return(value); } return(default(T)); } }
public NestedCommandRule(T id, ReaderHandler <T> handler = null, IEqualityComparer <T> comparer = null) : base(id) { _rules = new IndexDictionary <T, ICommandRule <T> >(comparer); DefaultHandler = handler; }
protected ConsoleRule(ReaderHandler <T> handler) { Handler = handler ?? RunAsync; }