private static void OnData(object sender, QMessageEvent message) { Console.WriteLine("Asynchronous message received: " + message.Message.Data); Console.WriteLine("message type: " + message.Message.MessageType + " size: " + message.Message.MessageSize + " isCompressed: " + message.Message.Compressed + " endianess: " + message.Message.Endianess); }
private static void OnData(object sender, QMessageEvent message) { Console.WriteLine("Asynchronous message received."); Console.WriteLine("message type: " + message.Message.MessageType + " size: " + message.Message.MessageSize + " isCompressed: " + message.Message.Compressed + " endianess: " + message.Message.Endianess); PrintResult(message.Message.Data); }
//-------------------------------------------------------------------// /// <summary> /// Event triggered by the q process sending data /// </summary> /// <param name="sender">QConnection object delivering the data</param> /// <param name="args">data</param> private static void OnUpdate(object sender, QMessageEvent args) { var alias = GetAliasForConnection(sender as QConnection); { if (args == null || args.Message.Data == null) { return; } var array = args.Message.Data as Array; if (array != null) { var a = array; if (a.Length != 3) { return; } if (!(a.GetValue(2) is QTable)) { return; } try { var tab = a.GetValue(1).ToString(); var data = a.GetValue(2) as QTable; lock (LockThis) { //this lock is mandatory here, since we need to preserve order filling topics. UpdateCache(alias, tab, data); } } // ReSharper disable EmptyGeneralCatchClause catch (Exception) // ReSharper restore EmptyGeneralCatchClause { // Console.WriteLine(e.Message); } } else { if (args.Message.Data.GetType().ToString() == "qSharp.QConnectionException" && ((QConnectionException)args.Message.Data).Message.Equals("Cannot read data from stream")) { //connections[alias].connectionCell.Formula = CloseConnectionRTD(alias); RtdClose(alias); } } } }
static void OnData(object sender, QMessageEvent message) { Object data = message.Message.Data; if (data is Object[]) { // unpack upd message Object[] args = ((Object[])data); if (args.Length == 3 && args[0].Equals("upd") && args[2] is QTable) { QTable table = (QTable)args[2]; foreach (QTable.Row row in table) { Console.WriteLine(row); } } } }
private static void OnData(object sender, QMessageEvent message) { var data = message.Message.Data; if (data is object[]) { // unpack upd message var args = ((object[])data); if (args.Length == 3 && args[0].Equals("upd") && args[2] is QTable) { var table = (QTable)args[2]; foreach (QTable.Row row in table) { Console.WriteLine(row); } } } }
private void OnData(object sender, QMessageEvent message) { var list = message.Message.Data as object[]; if (list != null && list.Length == 3 && list[0].Equals("upd") && list[2] is QTable) { var table = list[2] as QTable; var buffer = new string[table.ColumnsCount]; object item; foreach (QTable.Row row in table) { for (var i = 0; i < table.ColumnsCount; i++) { item = row[i]; buffer[i] = item != null ? item.ToString() : ""; } AddItem(buffer); } } }
private void OnData(object sender, QMessageEvent message) { var list = message.Message.Data as object[]; if (list != null && list.Length == 3 && list[0].Equals("upd") && list[2] is QTable) { var table = list[2] as QTable; var buffer = new string[table.ColumnsCount]; object item; foreach (QTable.Row row in table) { for (var i = 0; i < table.ColumnsCount; i++) { item = row[i]; buffer[i] = item != null?item.ToString() : ""; } AddItem(buffer); } } }