public void NoRequestSet() { var service = Substitute.For<IBodyDecoder>(); var received = new Received(new IPEndPoint(IPAddress.Loopback, 9231), Substitute.For<IBufferReader>()); var context = Substitute.For<IPipelineHandlerContext>(); var sut = new BodyDecoder(service, 65535, 65535); Assert.Throws<InvalidOperationException>(() => sut.HandleUpstream(context, received)); }
public Received Receive() { Received ret = new Received (); ret.Message = _Client.Receive(ref ret.Sender); return ret; /* return new Received() { Message = Encoding.ASCII.GetString(result.Buffer, 0, result.Buffer.Length), Sender = result.RemoteEndPoint };*/ }
public void Test() { var service = Substitute.For<IBodyDecoder>(); var context = Substitute.For<IPipelineHandlerContext>(); var request = new HttpRequest("GET", "/", "HTTP/1.1"); request.Body = new MemoryStream(Encoding.ASCII.GetBytes("Hello world!")); var msg = new ReceivedHttpRequest(request); var sut = new BodyDecoder(service, 65535, 65535); sut.HandleUpstream(context, msg); var received = new Received(new IPEndPoint(IPAddress.Loopback, 9231), Substitute.For<IBufferReader>()); sut.HandleUpstream(context, received); }
private async Task ReceiveMessage() { var result = _innerConsumer.Consume(_cancellationTokenSource.Token); if (result == null) { return; } if (result.IsPartitionEOF) { _logger.LogInformation("Partition EOF reached: {topic} {partition} @{offset}", result.Topic, result.Partition, result.Offset); return; } _consumedAtLeastOnce = true; _logger.LogTrace("Consuming message: {topic} {partition} @{offset}", result.Topic, result.Partition, result.Offset); if (Received != null) { await Received.Invoke(result.Message, result.TopicPartitionOffset); } }
public void Exportar_DeveEscreverMultiplasTarefasNoArquivo() { var arquivo = Substitute.For <StreamWriter>("./teste3.txt"); var exportador = new ExportadorArquivo(arquivo); var tarefaConcluída = new Tarefa(2, "Minha segunda tarefa"); tarefaConcluída.Concluir(); exportador.Exportar(new [] { new Tarefa(1, "Minha tarefa"), tarefaConcluída, new Tarefa(3, "Minha terceira tarefa") }); Received.InOrder(() => { arquivo.WriteLine("1##__##Minha tarefa##__##False"); arquivo.WriteLine("2##__##Minha segunda tarefa##__##True"); arquivo.WriteLine("3##__##Minha terceira tarefa##__##False"); arquivo.Flush(); arquivo.Close(); }); }
public void MetricsWriterApiUsage() { var writer = Substitute.For <IMetricsWriter>(); var registry = new CollectorRegistry(); var factory = new MetricFactory(registry); var gauge = factory.CreateGauge("name1", "help1"); gauge.Inc(3.2); ((ICollector)gauge).Collect(writer); Received.InOrder(() => { writer.StartMetric("name1"); writer.WriteHelp("help1"); writer.WriteType(MetricType.Gauge); var sample1 = writer.StartSample(); sample1.WriteValue(3.2); sample1.EndSample(); writer.EndMetric(); }); }
public async Task RequestsCorrectUrl() { var connection = Substitute.For <IApiConnection>(); var client = new ProductsClient(connection); var filters = new ProductFilters { PageSize = 1, PageCount = 1, StartPage = 0 }; await client.GetAll(filters); Received.InOrder(async() => { await connection.GetAll <Product>( Arg.Is <Uri>(u => u.ToString() == "products"), Arg.Is <Dictionary <string, string> >(d => d.Count == 0), Arg.Is <ApiOptions>(o => o.PageSize == 1 && o.PageCount == 1 && o.StartPage == 0)); }); }
List <Item> On(Received x) => received;
/// <summary> /// The higher layer protocol is receiving data from RDPEUDP2 layer. /// </summary> /// <param name="data">The data to be sent from RDPEUDP2 layer to higher layer.</param> public void ReceiveDataOnHigherLayer(byte[] data) { SpinWait.SpinUntil(() => Received != null); Received?.Invoke(data); }
/// <summary> /// Handles the <see cref="EventingBasicConsumer.Received"/> event /// </summary> /// <param name="sender">The <see cref="object"/> representation of the instance raising the event.</param> /// <param name="basicDeliverEventArgs">The <see cref="BasicDeliverEventArgs"/> instance containing the event data.</param> private void ConsumerOnDataReceived(object sender, BasicDeliverEventArgs basicDeliverEventArgs) { _lastMessageReceived = DateTime.Now; Received?.Invoke(this, basicDeliverEventArgs); }
/// <summary>触发数据到达事件</summary> /// <param name="sender"></param> /// <param name="e">接收事件参数</param> protected virtual void RaiseReceive(Object sender, ReceivedEventArgs e) => Received?.Invoke(sender, e);
public void Update(Object sender, UnmatchedEventArgs unmatchedEventArgs) { Received.Add(unmatchedEventArgs.Event); _engine.EPAdministrator.CreateEPL("select * from SupportBean"); }
List <string> On(Received x) => received;
private void OnReceived(DataReceivedEventArgs e) { Received?.Invoke(this, e); }
private bool Connected(object message) { switch (message) { case SuspendReading _: _readingSuspended = true; return(true); case ResumeReading _: { _readingSuspended = false; if (_pendingRead != null) { _connect.Handler.Tell(_pendingRead); _pendingRead = null; ReceiveAsync(); } return(true); } case SocketReceived socketReceived: DoRead(socketReceived, _connect.Handler); return(true); case Disconnect _: { Log.Debug("Closing UDP connection to [{0}]", _connect.RemoteAddress); _socket.Dispose(); Sender.Tell(Disconnected.Instance); Log.Debug("Connection closed to [{0}], stopping listener", _connect.RemoteAddress); Context.Stop(Self); return(true); } case Send send: { if (WritePending) { if (Udp.Settings.TraceLogging) { Log.Debug("Dropping write because queue is full"); } Sender.Tell(new CommandFailed(send)); } else { if (!send.Payload.IsEmpty) { _pendingSend = Tuple.Create(send, Sender); DoWrite(); } else { if (send.WantsAck) { Sender.Tell(send.Ack); } } } return(true); } case SocketSent sent: { if (_pendingSend.Item1.WantsAck) { _pendingSend.Item2.Tell(_pendingSend.Item1.Ack); } if (Udp.Settings.TraceLogging) { Log.Debug("Wrote [{0}] bytes to socket", sent.EventArgs.BytesTransferred); } _pendingSend = null; Udp.SocketEventArgsPool.Release(sent.EventArgs); return(true); } default: return(false); } }
public async Task<Received> Receive() { var result = await Client.ReceiveAsync(); Received rec = new Received() { Username = Encoding.UTF8.GetString(result.Buffer, 0, USERNAME_LENGTH), Command = result.Buffer[USERNAME_LENGTH], Sender = result.RemoteEndPoint }; rec.Parameter = new byte[result.Buffer.Length - USERNAME_LENGTH - COMMAND_LENTGH]; int lastIndex = USERNAME_LENGTH + COMMAND_LENTGH; for (int i = result.Buffer.Length - 1, j = 0; i >= lastIndex; i--, j++) { rec.Parameter[j] = result.Buffer[i]; } rec.Username = rec.Username.Replace("\0", string.Empty); return rec; }
private void propcessText(Received rec) { StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0}: {1}", DateTime.UtcNow, rec.Username); if (rec.Command == 1 && rec.Parameter.Length == 2) { sb.AppendFormat("LED {0} {1}", rec.Parameter[1], rec.Parameter[0]); switch (rec.Parameter[1]) { case 1: Led1 = rec.Parameter[0] == 1 ? true : false; break; case 2: Led2 = rec.Parameter[0] == 1 ? true : false; break; case 3: Led3 = rec.Parameter[0] == 1 ? true : false; break; case 4: Led4 = rec.Parameter[0] == 1 ? true : false; break; default: break; } } else { sb.AppendFormat("Cmd: {0} - Data: {1}", rec.Command, Encoding.ASCII.GetString(rec.Parameter.Reverse().ToArray())); } History = sb.ToString(); }
// スレッド関数 private void threadFunc() { Console.WriteLine(tag + "スレッド開始"); IsOpen = true; while (!threadQuit) // 接続試行ループ { // サーバへの接続を試行する // ※ ブロッキング処理だが、this.Close()すれば例外発生して抜ける // また、接続失敗でも例外発生して抜ける try { client.Connect(RemoteAddress, RemotePort); }catch { if (!threadQuit) { threadQuit = true; Console.WriteLine(tag + "接続失敗"); DisconnectReason = DisconnectReason.Failed; Disconnected?.Invoke(this, EventArgs.Empty); // 切断イベント発行 } break; // this.Close()の場合 } // サーバとクライアントのIPアドレスとポート番号 LocalAddress = ((IPEndPoint)client.Client.LocalEndPoint).Address.ToString(); LocalPort = ((IPEndPoint)client.Client.LocalEndPoint).Port; RemoteAddress = ((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString(); RemotePort = ((IPEndPoint)client.Client.RemoteEndPoint).Port; Console.WriteLine(tag + "サーバ({0}:{1})と接続({2}:{3})", RemoteAddress, RemotePort, LocalAddress, LocalPort); IsConnected = true; Connected?.Invoke(this, EventArgs.Empty); // 接続イベント発行 // クライアントのストリームを取得し、タイムアウト時間を設定 networkStream = client.GetStream(); networkStream.ReadTimeout = this.ReadTimeout; networkStream.WriteTimeout = this.WriteTimeout; // データを受信する receivedPackets.Clear(); byte[] buffer = new byte[1500]; int size; while (true) // 受信待ちループ { // データを受信する // ※ ブロッキング処理だが、1パケット受信するごとに抜ける // (指定のlengthぶんデータがたまるのを待つわけではない) // 何もパケットが来なければタイムアウトまで待つ // this.Close()すれば例外発生して抜ける try{ size = networkStream.Read(buffer, 0, buffer.Length); }catch { if (!threadQuit) { Console.WriteLine(tag + "受信待ちタイムアウト"); DisconnectReason = DisconnectReason.Timeout; } else { // this.Close()の場合 DisconnectReason = DisconnectReason.ByMe; } break; } // Readが0を返したら切断されたと判断。 if (size == 0) { Console.WriteLine(tag + "相手側からの切断"); DisconnectReason = DisconnectReason.ByHim; break; } // 受信データあり。イベント発生 else { byte[] data = new byte[size]; Array.Copy(buffer, data, size); receivedPackets.Enqueue(data); Received?.Invoke(this, EventArgs.Empty); // 受信イベント発行 } }// 受信待ちループ this.Disconnect(); Console.WriteLine(tag + "切断完了"); IsConnected = false; Disconnected?.Invoke(this, EventArgs.Empty); // 切断イベント発行 threadQuit = true; // ※ 切断したら接続試行ループを抜ける } // 接続試行ループ Console.WriteLine(tag + "スレッド終了"); IsOpen = false; }
private void ReceivedDatagram(IAsyncResult ar) { byte[] buffer = listener.EndReceive(ar, ref serverEndPoint); Received?.Invoke(serverEndPoint, buffer); listener.BeginReceive(ReceivedDatagram, null); }
protected virtual void OnReceived(ReceivedEventArgs e) { Received?.Invoke(this, e); }
protected virtual void OnReceived(EventArgsT <byte[]> e) { Received?.Invoke(this, e); }
public string ToString() { return("[" + Received.ToShortTimeString() + "] " + Message); }
/// <summary> /// 收到数据 /// </summary> public virtual Task OnReceiveDataAsync(IByteBuffer buffer) { Received?.Invoke(this, buffer); return(Task.CompletedTask); }
public void Update(Object sender, UnmatchedEventArgs unmatchedEventArgs) { Received.Add(unmatchedEventArgs.Event); }
public override string ToString() { return($"Received: {Received.ToString("yyyy-MM-dd HH:mm:ss")} SOG: {Sog}, HDG {Hdg}, LAT {Lat}, LON: {Lon}"); }
public void ReinitializeSleepsBeforeSendingStatusRequestsAgain() { // given var count = 0; var erroneousResponse = Substitute.For <IStatusResponse>(); erroneousResponse.ResponseCode.Returns(StatusResponse.HttpBadRequest); erroneousResponse.IsErroneousResponse.Returns(true); mockHttpClient.SendStatusRequest(Arg.Any <IAdditionalQueryParameters>()).Returns(erroneousResponse); // always return erroneous response mockContext.IsShutdownRequested.Returns(_ => count++ > 40); var target = new BeaconSendingInitState(); // when target.Execute(mockContext); // then // verify sleeps - first total number and then correct order mockContext.ReceivedWithAnyArgs(41).Sleep(0); Received.InOrder(() => { // from first round mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 2); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 4); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 8); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 16); // delay between first and second attempt mockContext.Sleep(BeaconSendingInitState.ReInitDelayMilliseconds[0]); // and again the sequence mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 2); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 4); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 8); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 16); // delay between second and third attempt mockContext.Sleep(BeaconSendingInitState.ReInitDelayMilliseconds[1]); // and again the sequence mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 2); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 4); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 8); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 16); // delay between third and fourth attempt mockContext.Sleep(BeaconSendingInitState.ReInitDelayMilliseconds[2]); // and again the sequence mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 2); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 4); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 8); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 16); // delay between fourth and fifth attempt mockContext.Sleep(BeaconSendingInitState.ReInitDelayMilliseconds[3]); // and again the sequence mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 2); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 4); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 8); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 16); // delay between fifth and sixth attempt mockContext.Sleep(BeaconSendingInitState.ReInitDelayMilliseconds[4]); // and again the sequence mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 2); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 4); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 8); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 16); // delay between sixth and seventh attempt mockContext.Sleep(BeaconSendingInitState.ReInitDelayMilliseconds[4]); // and again the sequence mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 2); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 4); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 8); mockContext.Sleep(BeaconSendingInitState.InitialRetrySleepTimeMilliseconds * 16); }); }
protected virtual void OnReceived(byte[] data) { Received?.Invoke(this, data); }
private void OnReceived(EventArgsT <byte[]> e) { Received?.Invoke(this, e); }
private async Task Loop() { Received received = await _connection.Receive(); DispatchMessage(received); }
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults) { base.OnRequestPermissionsResult(requestCode, permissions, grantResults); Received?.Invoke(this, (requestCode, permissions, grantResults)); }
public void MovePlayer(MoveInfo info, Received @from) { throw new NotImplementedException(); }
///<summary>Fires the Received event.</summary> public override Task HandleBasicDeliver(string consumerTag, ulong deliveryTag, bool redelivered, string exchange, string routingKey, IBasicProperties properties, ReadOnlyMemory <byte> body) { // No need to call base, it's empty. return(Received.InvokeAsync(this, new BasicDeliverEventArgs(consumerTag, deliveryTag, redelivered, exchange, routingKey, properties, body))); }
public void ReinitializeSleepsBeforeSendingStatusRequests() { // given var count = 0; httpClient.SendStatusRequest().Returns((StatusResponse)null); // always return null context.IsShutdownRequested.Returns(_ => { return(count++ > 40); }); var target = new BeaconSendingInitState(); // when target.Execute(context); // then // verify sleeps - first total number and then correct order context.ReceivedWithAnyArgs(41).Sleep(0); Received.InOrder(() => { // from first round context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 2); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 4); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 8); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 16); // delay between first and second attempt context.Sleep(BeaconSendingInitState.REINIT_DELAY_MILLISECONDS[0]); // and again the sequence context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 2); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 4); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 8); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 16); // delay between second and third attempt context.Sleep(BeaconSendingInitState.REINIT_DELAY_MILLISECONDS[1]); // and again the sequence context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 2); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 4); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 8); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 16); // delay between third and fourth attempt context.Sleep(BeaconSendingInitState.REINIT_DELAY_MILLISECONDS[2]); // and again the sequence context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 2); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 4); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 8); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 16); // delay between fourth and fifth attempt context.Sleep(BeaconSendingInitState.REINIT_DELAY_MILLISECONDS[3]); // and again the sequence context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 2); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 4); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 8); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 16); // delay between fifth and sixth attempt context.Sleep(BeaconSendingInitState.REINIT_DELAY_MILLISECONDS[4]); // and again the sequence context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 2); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 4); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 8); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 16); // delay between sixth and seventh attempt context.Sleep(BeaconSendingInitState.REINIT_DELAY_MILLISECONDS[4]); // and again the sequence context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 2); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 4); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 8); context.Sleep(BeaconSendingInitState.INITIAL_RETRY_SLEEP_TIME_MILLISECONDS * 16); }); }
private void _ws_MessageReceived(object sender, WebSocket4Net.MessageReceivedEventArgs e) { Received?.Invoke(this, e.Message); }
/// <summary> /// Handles the <see cref="EventingBasicConsumer.Received"/> event /// </summary> /// <param name="sender">The <see cref="object"/> representation of the instance raising the event.</param> /// <param name="basicDeliverEventArgs">The <see cref="BasicDeliverEventArgs"/> instance containing the event data.</param> private void OnDataReceived(object sender, BasicDeliverEventArgs basicDeliverEventArgs) { Received?.Invoke(this, basicDeliverEventArgs); }