wasSharpNET

Subversion Repositories:
Compare Path: Rev
With Path: Rev
?path1? @ 22  →  ?path2? @ 27
/Network/HTTP/HTTPServer.cs
@@ -13,6 +13,9 @@
{
public abstract class HTTPServer : IDisposable
{
private readonly ManualResetEventSlim listenStop = new ManualResetEventSlim(false);
 
private readonly ManualResetEventSlim stopListen = new ManualResetEventSlim(false);
private int activeRequests;
 
private HttpListener HTTPListener;
@@ -24,8 +27,10 @@
 
public bool IsRunning => HTTPListener != null && HTTPListener.IsListening;
 
private readonly ManualResetEventSlim stopListen = new ManualResetEventSlim(false);
private readonly ManualResetEventSlim listenStop = new ManualResetEventSlim(false);
public void Dispose()
{
stopListen.Set();
}
 
public bool Start(List<string> prefixes)
{
@@ -37,9 +42,7 @@
// Add all prefixes.
HTTPListener.Prefixes.Clear();
foreach (var prefix in prefixes)
{
HTTPListener.Prefixes.Add(prefix);
}
 
// Do not bomb if the client disconnects.
HTTPListener.IgnoreWriteExceptions = true;
@@ -55,13 +58,13 @@
 
private void Listen(object state)
{
HTTPServerCallbackState callbackState = (HTTPServerCallbackState)state;
var callbackState = (HTTPServerCallbackState) state;
 
while (callbackState.Listener.IsListening)
{
callbackState.Listener?.BeginGetContext(ContextCallback, callbackState);
 
if (WaitHandle.WaitAny(new[] { callbackState.ContextRetrieved, stopListen.WaitHandle }) != 1)
if (WaitHandle.WaitAny(new[] {callbackState.ContextRetrieved, stopListen.WaitHandle}) != 1)
continue;
 
try
@@ -81,7 +84,7 @@
 
private void ContextCallback(IAsyncResult ar)
{
var callbackState = (HTTPServerCallbackState)ar.AsyncState;
var callbackState = (HTTPServerCallbackState) ar.AsyncState;
HttpListenerContext httpContext;
 
Interlocked.Increment(ref processedRequests);
@@ -111,11 +114,6 @@
}
}
 
public void Dispose()
{
stopListen.Set();
}
 
private class HTTPServerCallbackState
{
public HTTPServerCallbackState(HttpListener listener)
@@ -131,4 +129,4 @@
public AutoResetEvent ContextRetrieved { get; }
}
}
}
}
/Network/IPAddressExtensions.cs
@@ -25,9 +25,7 @@
 
var broadcastAddress = new byte[ipAdressBytes.Length];
for (var i = 0; i < broadcastAddress.Length; i++)
{
broadcastAddress[i] = (byte)(ipAdressBytes[i] | (subnetMaskBytes[i] ^ 255));
}
broadcastAddress[i] = (byte) (ipAdressBytes[i] | (subnetMaskBytes[i] ^ 255));
return new IPAddress(broadcastAddress);
}
 
@@ -41,9 +39,7 @@
 
var broadcastAddress = new byte[ipAdressBytes.Length];
for (var i = 0; i < broadcastAddress.Length; i++)
{
broadcastAddress[i] = (byte)(ipAdressBytes[i] & subnetMaskBytes[i]);
}
broadcastAddress[i] = (byte) (ipAdressBytes[i] & subnetMaskBytes[i]);
return new IPAddress(broadcastAddress);
}
 
@@ -55,4 +51,4 @@
return network1.Equals(network2);
}
}
}
}
/Network/SubnetMask.cs
@@ -30,11 +30,14 @@
var binaryMask = new byte[4];
 
for (var i = 0; i < 4; i++)
{
if (i * 8 + 8 <= netPartLength)
{
binaryMask[i] = 255;
}
else if (i * 8 > netPartLength)
{
binaryMask[i] = 0;
}
else
{
var oneLength = netPartLength - i * 8;
@@ -42,7 +45,6 @@
string.Empty.PadLeft(oneLength, '1').PadRight(8, '0');
binaryMask[i] = Convert.ToByte(binaryDigit, 2);
}
}
return new IPAddress(binaryMask);
}
 
@@ -61,4 +63,4 @@
return CreateByHostBitLength(b.Length);
}
}
}
}
/Network/TCP/Utilities.cs
@@ -26,7 +26,7 @@
{
var l = new TcpListener(address, 0);
l.Start();
port = ((IPEndPoint)l.LocalEndpoint).Port;
port = ((IPEndPoint) l.LocalEndpoint).Port;
l.Stop();
return true;
}
@@ -37,4 +37,4 @@
}
}
}
}
}