static void Main(string[] args) { var client = new data_processors.synapse_client <data_processors.waypoints>(); Generate1(client, "lux", 2015, 3, 30); Generate1(client, "lux", 2015, 3, 31); Generate1(client, "lux", 2015, 4, 1); Generate1(client, "cen", 2015, 4, 1); Generate2(client); client.close(); }
public static void Main(string[] args) { try { var client = new data_processors.synapse_client <data_processors.waypoints>(); ReaderWriterLockSlim rwl = new ReaderWriterLockSlim(); client.subscribe(rwl, new contests4.type_factory(), "test.*", data_processors.synapse_client_utils.timestamp(new DateTime(2015, 1, 1)), // from 0, // until data_processors.synapse_client_utils.timespan(new TimeSpan(20, 0, 0)), // delayed delivery tolerance true); for (var msg_wrapper = client.next(); msg_wrapper != null; msg_wrapper = client.next()) { rwl.EnterWriteLock(); try { Console.WriteLine(">>>>>CURRENT CONTESTS<<<<<"); foreach (var messages_per_subject_i in new SortedDictionary <string, ConcurrentDictionary <string, ConcurrentDictionary <byte[], message_envelope <data_processors.waypoints> > > >(client.previous_messages)) { foreach (var messages_per_type_i in new SortedDictionary <string, ConcurrentDictionary <byte[], message_envelope <data_processors.waypoints> > >(messages_per_subject_i.Value)) { if (messages_per_type_i.Key == "ContestsType") { foreach (var messages_per_delta_i in new SortedDictionary <byte[], message_envelope <data_processors.waypoints> >(messages_per_type_i.Value, new data_processors.byte_array_comparator())) { Console.WriteLine("subject " + messages_per_subject_i.Key + ", delta " + messages_per_delta_i.Key); if (messages_per_delta_i.Value.non_delta_seen == true) // default to printing only completed (not partial-accumulation only, incomplete) messages { var msg = (ContestsType)messages_per_delta_i.Value.msg; if (messages_per_delta_i.Value.waypoints != null) { foreach (var waypoint in messages_per_delta_i.Value.waypoints.get_path()) { Console.WriteLine("waypoint at(=" + waypoint.get_tag() + "), UTC(=" + data_processors.federated_serialisation.utils.DecodeTimestamp((ulong)waypoint.get_timestamp().Value) + ")"); } } print_contest_msg(msg); } } } } } } finally { rwl.ExitWriteLock(); } } client.close(); Console.WriteLine("bye bye"); } catch (Exception e) { Console.WriteLine("oops " + e.Message); } }
public static void Main(string[] args) { try { { var waypoint = new waypoint(); waypoint.set_tag("test.transform.example.1.c#"); waypoints wp = new waypoints(); var synapse_subscriber = new data_processors.synapse_client <data_processors.waypoints>("10.16.10.127"); var synapse_publisher = new data_processors.synapse_client <data_processors.waypoints>("10.16.10.127"); ReaderWriterLockSlim rwl = new ReaderWriterLockSlim(); synapse_subscriber.subscribe(rwl, new type_factory(), //"test.betfair.contests.au", "test.sim.*.*", data_processors.synapse_client_utils.timestamp(new DateTime(2015, 1, 1)), 0, // until data_processors.synapse_client_utils.timespan(new TimeSpan(20, 0, 0)), // delayed delivery tolerance true); uint i = 0; for (var msg_wrapper = synapse_subscriber.next(7000); msg_wrapper != null; msg_wrapper = synapse_subscriber.next(5000)) { if (msg_wrapper.type_name == "ContestsType" && msg_wrapper.non_delta_seen == true) { var now = DateTime.UtcNow; waypoint.set_timestamp(data_processors.federated_serialisation.utils.EncodeDateTime(now)); wp.set_from((waypoints)msg_wrapper.waypoints); wp.add_path_element(waypoint); var written_bytes = synapse_publisher.publish(msg_wrapper.amqp.routing_key + ".transformation_test_c_sharp", (ContestsType)((thrift_contests_type)msg_wrapper.msg).output_msg, wp, (i++ % 100 == 0 ? false : true), null, 0, synapse_client_utils.timestamp(now)); Console.WriteLine("republished message of " + written_bytes + " bytes"); } } synapse_subscriber.close(); synapse_publisher.close(); Console.WriteLine("bye bye"); } } catch (Exception e) { Console.WriteLine("oops " + e.Message); } }
public void run(SslPolicyErrors?use_ssl, string synapse_host, int synapse_port, string topic_name, bool tcp_no_delay, int so_rcvbuf, int so_sndbuf) { worker = new Thread(new ThreadStart(() => { Console.Error.WriteLine("synapse_client running..."); data_processors.synapse_client <DataProcessors.Waypoints.waypoints> client = null; try { client = new data_processors.synapse_client <DataProcessors.Waypoints.waypoints>(use_ssl, synapse_host, synapse_port, tcp_no_delay, so_rcvbuf, so_sndbuf, 30, 100000); client.subscribe(new ReaderWriterLockSlim(), new DataProcessors.Contests4.type_factory(), topic_name, 1, 0, // until data_processors.synapse_client_utils.timespan(new TimeSpan(20, 0, 0)), // delayed delivery tolerance true, tcp_no_delay); for (var msg_wrapper = client.next(7000); msg_wrapper != null; msg_wrapper = client.next(7000)) { var p = new rcv_ping(); p.published_timestamp = msg_wrapper.amqp.decode_timestamp(); p.local_timestamp = DateTime.UtcNow; stats.Enqueue(p); if (p.published_timestamp % 100 == 0) { Console.WriteLine("sub got message: " + p.published_timestamp); } } } catch { error = true; Console.Error.WriteLine("synapse_subscriber exception"); } finally { if (client != null) { client.close(); } } })); worker.Start(); }
public static void Main(string[] args) { try { // create client var client = new data_processors.synapse_client(new type_factory()); var bet_pool = new ImaginaryBetPool(); Random rnd = new Random(); // Custom message creation for (int i = 0; i != 30; ++i) { if ((i % 2) == 0) { if (bet_pool.get_weather_records_element(3) == null) { bet_pool.set_weather_records_element(3, new WeatherRecordType()); } bet_pool.get_weather_records_element(3).set_xid("there it is"); } else { if ((i % 3) == 0) { bet_pool.set_weather_records_element(3, null); } else { bet_pool.get_weather_records_element(3).set_xid("modified xid..."); } } bet_pool.set_xid("11-06-2008;Hong+Kong;1;1208%3AHK;quartet;1;4.1;150;50;b"); bet_pool.set_sid("optionally set sid value:x12:1251:777"); if (bet_pool.get_description() == null) { bet_pool.set_description(new TextTypeExtended()); } bet_pool.get_description().set_description("sample description of a message for the betting pool(s)"); // build some sample combos for (byte a = 1; a != 5; ++a) { for (byte b = 1; b != 5; ++b) { for (byte c = 1; c != 5; ++c) { for (byte d = 1; d != 5; ++d) { byte[] key = new byte[] { a, b, c, d }; if (rnd.NextDouble() < .1) // alternate addition and deletion of keys -- for testing illustration purposes... { bet_pool.set_combinations_element(key, i + rnd.NextDouble() * .777); } else { bet_pool.set_combinations_element(key, null); } } } } } var timestamp = bet_pool.get_When(); if (timestamp == null) { timestamp = new TimestampType(); bet_pool.set_When(timestamp); } timestamp.set_Value(client.timestamp_now()); // send it out ... client.publish("test.thrift.hong_kong.leon", bet_pool, i % 10 == 0 ? false : true); // ... using inter-message delta serialistaion, with every 10th message being sent as a whole. //client.publish("test.thrift.hong_kong.leon", bet_pool, false); Console.WriteLine("\npublished '{0}'", bet_pool); var sorted_dict = new SortedDictionary <byte[], double>(bet_pool.get_combinations(), new byte_array_comparator()); foreach (var ii in sorted_dict) { string text_key = " "; foreach (var k in ii.Key) { text_key += k.ToString() + ' '; } Console.WriteLine("betpool combination: ['{0}'] '{1}'", text_key, ii.Value); } } client.close(); Console.WriteLine("bye bye"); } catch (Exception e) { Console.WriteLine("oops " + e.Message); } }
public static void Main(string[] args) { try { var client = new data_processors.synapse_client(new type_factory()); //client.subscribe("test.thrift.*.leon", new DateTime(2015, 1, 1), DateTime.UtcNow, true); client.subscribe("test.thrift.*.leon", new DateTime(2015, 1, 1), null, true); bool callbacks_attached = false; for (var msg_wrapper = client.next(); msg_wrapper != null; msg_wrapper = client.next()) { if (msg_wrapper.non_delta_seen == true) { var msg = (ImaginaryBetPool)msg_wrapper.msg; Console.WriteLine("\nreceived and parsed msg:\n'{0}', is delta: '{1}'", msg, msg.read_in_delta_mode); if (msg.get_type_id() != ImaginaryBetPool.type_id) { throw new Exception("unexpected message type"); } if (callbacks_attached == false) { callbacks_attached = true; if (msg.get_weather_records() != null) { foreach (var j in msg.get_weather_records()) { j.Value.user_data = new local_state(); } } msg.weather_records_on_add_callback = delegate(WeatherRecordType x) { Console.WriteLine("\n\nDATA ADDED"); x.user_data = new local_state(); }; } if (msg.get_combinations() != null) { var sorted_dict = new SortedDictionary <byte[], double>(msg.get_combinations(), new byte_array_comparator()); foreach (var i in sorted_dict) { string text_key = ""; foreach (var k in i.Key) { text_key += k.ToString() + ' '; } Console.WriteLine("betpool combination: ['{0}'] '{1}'", text_key, i.Value); } } if (msg.get_weather_records() != null) { foreach (var j in msg.get_weather_records()) { Console.WriteLine("weather record: ['{0}'] '{1}'", j.Key, j.Value.get_xid()); Console.WriteLine("weather record user_data: '{0}'", j.Value.user_data); } } } } client.close(); Console.WriteLine("bye bye"); } catch (Exception e) { Console.WriteLine("oops " + e.Message); } }