示例#1
0
 /// <summary>
 ///     If valueSubscription is not subscribed - does nothing.
 /// </summary>
 /// <param name="valueSubscription"></param>
 public virtual void JournalRemoveItem(object valueSubscription)
 {
     BeginInvoke(ct =>
     {
         ClientElementValuesJournalListManager.RemoveItem(valueSubscription);
     }
                 );
 }
示例#2
0
 /// <summary>
 ///     valueSubscription.Update() is called from сallbackDispatcher.
 /// </summary>
 /// <param name="elementId"></param>
 /// <param name="valueSubscription"></param>
 public virtual void JournalAddItem(string elementId, object valueSubscription)
 {
     BeginInvoke(ct =>
     {
         ClientElementValuesJournalListManager.AddItem(elementId, valueSubscription);
         ClientElementValuesJournalListManager.Subscribe(ClientConnectionManager);
     }
                 );
 }
示例#3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="firstTimestampUtc"></param>
        /// <param name="secondTimestampUtc"></param>
        /// <param name="numValuesPerSubscription"></param>
        /// <param name="calculation"></param>
        /// <param name="params_"></param>
        /// <param name="valueSubscriptionsCollection"></param>
        /// <returns></returns>
        public virtual async Task <ValueStatusTimestamp[][]?> ReadElementValuesJournalsAsync(DateTime firstTimestampUtc, DateTime secondTimestampUtc, uint numValuesPerSubscription, Ssz.Utils.DataAccess.TypeId?calculation, CaseInsensitiveDictionary <string>?params_, object[] valueSubscriptionsCollection)
        {
            var taskCompletionSource = new TaskCompletionSource <ValueStatusTimestamp[][]?>();

            BeginInvoke(ct =>
            {
                var result = ClientElementValuesJournalListManager.ReadElementValuesJournals(firstTimestampUtc, secondTimestampUtc, numValuesPerSubscription, calculation, params_, valueSubscriptionsCollection);

                taskCompletionSource.SetResult(result);
            }
                        );
            return(await taskCompletionSource.Task);
        }