public static void DelayTransferEchoServer() { using (var echoServer = new EchoServer(new IPEndPoint(IPAddress.Loopback, 0))) { echoServer.Start(); var listener = new FixedDelayListener( SinkListener.Instance, TimeSpan.FromSeconds(0.5) ); var connector = new SimpleConnector(echoServer.EndPoint, listener); using (var proxyServer = new ProxyServer(new IPEndPoint(IPAddress.Loopback, 0), connector)) { proxyServer.Start(); var block = Encoding.UTF8.GetBytes("Hello world!"); using (var echoClient = new EchoPingClient(proxyServer.EndPoint, block)) { echoClient.Start(); var stopwatch = Stopwatch.StartNew(); echoClient.Ping(); Console.WriteLine(stopwatch.Elapsed); } } } }
public static void BandwidthThrottlingProxyEcho() { using (var echoServer = new EchoServer(new IPEndPoint(IPAddress.Loopback, 0))) { echoServer.Start(); var listener = new ThrottlingListener( SinkListener.Instance, 10 * 1024 /* 10 Kb/s */ ); var connector = new SimpleConnector(echoServer.EndPoint, listener); using (var proxyServer = new ProxyServer(new IPEndPoint(IPAddress.Loopback, 0), connector)) { proxyServer.Start(); var block = Encoding.UTF8.GetBytes(new string('?', 1024)); var stopwatch = Stopwatch.StartNew(); using (var echoClient = new EchoPingClient(proxyServer.EndPoint, block)) { echoClient.Start(); for (int i = 0; i < 100; i++) { echoClient.Ping(); } } Console.WriteLine(stopwatch.Elapsed); } } }
//[TestMethod] public void TestLoad() { var solr = SimpleConnector <Product> .Create(@"http://localhost.:8983/solr/", "collection1"); var results = solr.Query("*:*"); //Assert.IsNotNull(results); }
public void TestSave() { var solr = SimpleConnector <Product> .Create(@"http://localhost.:8983/solr/", "collection1"); solr.Save(new Product { id = "100", title = new string[] { "abcd" } }); }
public static void Create(string host, Dictionary <string, string> requestParams, string method, DownloadListener listener) { SimpleConnector connector = new SimpleConnector(); connector.SetServerName(host); connector.SetParams(requestParams); connector.OnRequestComplete += listener; if (method == SimpleConnector.METHOD_GET) { connector.SendGet(); } else { connector.SendPost(); } }
public void GetAccessToken(string verifier) { string timestamp = DateHelpers.DateTimeToUnitTimeStamp(DateTime.UtcNow).ToString(); SimpleConnector connector = new SimpleConnector(); connector.SetServerName(Constants.Urls.TOKEN_ACCESS); connector.AddParam("oauth_token", this.OAuthToken); connector.AddParam("oauth_consumer_key", Settings.Key); connector.AddParam("oauth_nonce", Settings.Nounce); connector.AddParam("oauth_timestamp", timestamp); connector.AddParam("oauth_verifier", verifier); connector.AddParam("oauth_signature_method", Settings.SignatireMethod); connector.AddParam("oauth_signature", this.generateSignature(this.CurrentSignatureType, "POST", Constants.Urls.TOKEN_ACCESS, connector.GetParams(), Settings.SecretKey + "&" + this.OAuthTokenSecret)); connector.OnRequestComplete += parseAccessToken; connector.OnRequestComplete += this.onRequestComplete; connector.SendPost(); }
public void GetRequestToken() { string timestamp = DateHelpers.DateTimeToUnitTimeStamp(DateTime.UtcNow).ToString(); SimpleConnector connector = new SimpleConnector(); connector.SetServerName(Constants.Urls.TOKEN_REQUEST); connector.AddParam("oauth_consumer_key", Settings.Key); connector.AddParam("oauth_nonce", Settings.Nounce); connector.AddParam("oauth_timestamp", timestamp); connector.AddParam("oauth_signature_method", Settings.SignatireMethod); connector.AddParam("oauth_signature", this.generateSignature(this.CurrentSignatureType, "POST", Constants.Urls.TOKEN_REQUEST, connector.GetParams(), Settings.SecretKey + "&")); connector.OnRequestComplete += this.parseResponse; connector.OnRequestComplete += this.onRequestComplete; connector.SendPost(); }
protected void Run(int port = 0) { var endpoint = GetServerEndpoint(); IListener listener = Listener; if (ParseUtils.ParseSize(options.Bandwidth) is int bandwidth) { listener = new ThrottlingListener(listener, bandwidth); } IConnector connector = new SimpleConnector(endpoint, listener); if (options.Chaos) { var chaosConfiguration = new ChaosConfiguration { Reject = { Percentage = 0.5 }, Abort = { Percentage = 1, UpstreamBytes = new Range <long>(0, 1024 * 1024 * 10), DownstreamBytes = new Range <long>(0, 1024 * 1024 * 10) } }; var chaosConnector = new ChaosConnector(chaosConfiguration, connector); //chaosConnector.Rejected += (s, e) => Console.WriteLine("REJECTED"); //chaosConnector.Aborted += (s, e) => Console.WriteLine($"ABORTED reason {e.Reason}, upstream {e.UpstreamTransferred}, downstream {e.DownstreamTransferred}"); connector = chaosConnector; } proxy = new ProxyServer(new IPEndPoint(IPAddress.Loopback, port), connector); proxy.ExceptionOccured += (s, e) => Console.WriteLine($"EXCEPTION: {e.Exception.Message} ({e.Exception.GetType().FullName})"); proxy.Start(); Running(proxy.EndPoint); }
public static void ProxyEcho() { using (var echoServer = new EchoServer(new IPEndPoint(IPAddress.Loopback, 0))) { echoServer.Start(); var connector = new SimpleConnector(echoServer.EndPoint); using (var proxyServer = new ProxyServer(new IPEndPoint(IPAddress.Loopback, 0), connector)) { proxyServer.Start(); var block = Encoding.UTF8.GetBytes("Hello world!"); using (var echoClient = new EchoPingClient(proxyServer.EndPoint, block)) { echoClient.Start(); echoClient.Ping(); } } } }