protected CallTransmissionTestBase(TInterface implementation) { CallTransmission = new CallTransmission <TInterface>(Properties.Serializer) { SendData = SendData, WaitTimeout = TimeSpan.FromSeconds(5) }; CallTransmissionExecuter = new CallTransmissionExecuter <TInterface>(implementation, Properties.Serializer); }
protected override async Task SendData(ArraySegment <byte> data) { var buffer = data.Array; Buffer.BlockCopy(new byte[ProtocolOffset], 0, buffer, 0, ProtocolOffset); //null all offset bytes using (var result = await CallTransmissionExecuter.ReceiveData(buffer, ProtocolOffset)) { Buffer.BlockCopy(new byte[ExecuterOffset], 0, result.Buffer, 0, ExecuterOffset); CallTransmission.ReceiveData(result.Buffer, ExecuterOffset); } }
protected override async Task SendData(ArraySegment <byte> data) { var buffer = new byte[data.Count + Offset]; Buffer.BlockCopy(data.Array, 0, buffer, Offset, data.Count); using (var result = await CallTransmissionExecuter.ReceiveData(buffer, Offset)) { var responseBuffer = new byte[result.Length + Offset]; Buffer.BlockCopy(result.Buffer, 0, responseBuffer, Offset, result.Length); CallTransmission.ReceiveData(responseBuffer, Offset); } }
public CallTransmissionExecuterCacheTests() { var exe1 = new CallTransmissionExecuter <IBasicTestInterface>(new BasicTestInterfaceImpl(), Properties.Serializer); var cache = exe1.Cache; _executer = new CallTransmissionExecuter <IBasicTestInterface>(new BasicTestInterfaceImpl(), Properties.Serializer, cache); _transmission = new CallTransmission <IBasicTestInterface>(Properties.Serializer) { SendData = SendData, WaitTimeout = TimeSpan.FromSeconds(5) }; }