/// <summary> /// Tests specified receiver. /// </summary> private void TestStreamReceiver(IStreamReceiver <int, int> receiver) { using (var ldr = _grid.GetDataStreamer <int, int>(CacheName)) { ldr.AllowOverwrite = true; ldr.Receiver = new StreamReceiverBinarizable(); ldr.Receiver = receiver; // check double assignment Assert.AreEqual(ldr.Receiver, receiver); for (var i = 0; i < 100; i++) { ldr.AddData(i, i); } ldr.Flush(); for (var i = 0; i < 100; i++) { Assert.AreEqual(i + 1, _cache.Get(i)); } } }
public ReceiverNode(IStreamReceiver receiver, Type eventHandlerType) { Receiver = receiver; EventHandlerType = eventHandlerType; ResetEvent = new AsyncAutoResetEvent(false); IsLive = false; }
/// <summary> /// /// </summary> /// <param name="connectionId"></param> /// <param name="receiver"></param> public virtual void AddReceiver(string connectionId, IStreamReceiver receiver) { var transceiver = m_handler.AddTransceiver(connectionId, receiver.Kind, RTCRtpTransceiverDirection.RecvOnly); if (transceiver.Receiver != null) { receiver.SetReceiver(connectionId, transceiver.Receiver); } }
/// <summary> /// Invokes the receiver. /// </summary> /// <param name="receiver">Receiver.</param> /// <param name="grid">Grid.</param> /// <param name="cache">Cache.</param> /// <param name="stream">Stream.</param> /// <param name="keepBinary">Binary flag.</param> public static void InvokeReceiver <TK, TV>(IStreamReceiver <TK, TV> receiver, Ignite grid, IPlatformTargetInternal cache, IBinaryStream stream, bool keepBinary) { var reader = grid.Marshaller.StartUnmarshal(stream, keepBinary); var size = reader.ReadInt(); var entries = new List <ICacheEntry <TK, TV> >(size); for (var i = 0; i < size; i++) { entries.Add(new CacheEntry <TK, TV>(reader.ReadObject <TK>(), reader.ReadObject <TV>())); } receiver.Receive(Ignite.GetCache <TK, TV>(cache, keepBinary), entries); }
/// <summary> /// Invokes the receiver. /// </summary> /// <param name="receiver">Receiver.</param> /// <param name="grid">Grid.</param> /// <param name="cache">Cache.</param> /// <param name="stream">Stream.</param> /// <param name="keepPortable">Portable flag.</param> public static void InvokeReceiver <TK, TV>(IStreamReceiver <TK, TV> receiver, Ignite grid, IUnmanagedTarget cache, IPortableStream stream, bool keepPortable) { var reader = grid.Marshaller.StartUnmarshal(stream, keepPortable); var size = reader.ReadInt(); var entries = new List <ICacheEntry <TK, TV> >(size); for (var i = 0; i < size; i++) { entries.Add(new CacheEntry <TK, TV>(reader.ReadObject <TK>(), reader.ReadObject <TV>())); } receiver.Receive(grid.Cache <TK, TV>(cache, keepPortable), entries); }
/// <summary> /// /// </summary> /// <param name="connectionId"></param> /// <param name="receiver"></param> public virtual void RemoveReceiver(string connectionId, IStreamReceiver receiver) { //receiver. receiver.SetReceiver(connectionId, null); }