private void ProcessUserUpdatePositionMonitor(byte[] arrMsgBody) { CUserPosMonitorUpdate userPosUpdate = CUtilProto.DeserializeProto <CUserPosMonitorUpdate>(arrMsgBody); //changed 2018-05-27 string msg = "[UserUpdatePositionMonitor]"; if (userPosUpdate.MonitorUserPos == null) { msg += " MonitorUserPos==null"; } else { foreach (var poses in userPosUpdate.MonitorUserPos) { msg += String.Format("instr={0} amount={1} avPos={2}", poses.Key, poses.Value.Amount, poses.Value.AvPos); } } Log(msg); _kernelTerminal.UpdateUserMonitorPos(userPosUpdate); }