Skip to content
This repository has been archived by the owner on Sep 3, 2019. It is now read-only.

Commit

Permalink
Implemented abort on webrequest and close on response.
Browse files Browse the repository at this point in the history
  • Loading branch information
xivk committed Sep 16, 2015
1 parent 8b5c1ba commit b4db26a
Show file tree
Hide file tree
Showing 18 changed files with 163 additions and 139 deletions.
10 changes: 9 additions & 1 deletion OsmSharp.Android.UI/IO/Web/NativeHttpWebRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace OsmSharp.Android.UI.IO.Web
/// <summary>
/// A native implementation the HttpWebRequest.
/// </summary>
internal class NativeHttpWebRequest : OsmSharp.IO.Web.HttpWebRequest
internal class NativeHttpWebRequest : OsmSharp.IO.Web.HttpWebRequest
{
/// <summary>
/// Holds the http webrequest.
Expand Down Expand Up @@ -97,5 +97,13 @@ public override OsmSharp.IO.Web.HttpWebResponse EndGetResponse(IAsyncResult iar)
{
return new NativeHttpWebResponse((System.Net.HttpWebResponse)_httpWebRequest.EndGetResponse(iar));
}

/// <summary>
/// Abort this instance.
/// </summary>
public override void Abort ()
{
_httpWebRequest.Abort ();
}
}
}
10 changes: 9 additions & 1 deletion OsmSharp.Android.UI/IO/Web/NativeHttpWebResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace OsmSharp.Android.UI.IO.Web
/// <summary>
/// A native implementation the HttpWebResponse.
/// </summary>
internal class NativeHttpWebResponse : OsmSharp.IO.Web.HttpWebResponse
internal class NativeHttpWebResponse : OsmSharp.IO.Web.HttpWebResponse
{
/// <summary>
/// Holds the http webresponse.
Expand Down Expand Up @@ -66,5 +66,13 @@ public override Stream GetResponseStream()
{
return _httpWebResponse.GetResponseStream();
}

/// <summary>
/// Close this instance.
/// </summary>
public override void Close ()
{
_httpWebResponse.Close ();
}
}
}
35 changes: 14 additions & 21 deletions OsmSharp.Android.UI/OsmSharp.Android.UI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<AssemblyName>OsmSharp.Android.UI</AssemblyName>
<TargetFrameworkVersion>v4.2</TargetFrameworkVersion>
<AndroidUseLatestPlatformSdk>
</AndroidUseLatestPlatformSdk>
<TargetFrameworkVersion>v4.4</TargetFrameworkVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
Expand All @@ -40,30 +38,25 @@
<DocumentationFile>..\OutputAndroid\OsmSharp.Android.UI.XML</DocumentationFile>
</PropertyGroup>
<ItemGroup>
<Reference Include="OsmSharp, Version=0.0.0.6, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OsmSharp.Core.0.0.0.6-beta\lib\MonoAndroid\OsmSharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OsmSharp.Osm, Version=0.0.0.6, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OsmSharp.Core.0.0.0.6-beta\lib\MonoAndroid\OsmSharp.Osm.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OsmSharp.Routing, Version=0.0.0.11, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OsmSharp.Routing.0.0.0.11-beta\lib\MonoAndroid\OsmSharp.Routing.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="protobuf-net, Version=2.0.0.668, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL">
<HintPath>..\packages\protobuf-net.2.0.0.668\lib\portable-sl4+net40+wp7+windows8\protobuf-net.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="System.Core" />
<Reference Include="Mono.Android" />
<Reference Include="Zlib.Portable, Version=1.9.1.9000, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="protobuf-net, Version=2.0.0.668, Culture=neutral, PublicKeyToken=257b51d87d2e4d67">
<HintPath>..\packages\protobuf-net.2.0.0.668\lib\portable-sl4+net40+wp7+windows8\protobuf-net.dll</HintPath>
</Reference>
<Reference Include="Zlib.Portable, Version=1.9.1.9000, Culture=neutral, PublicKeyToken=null">
<HintPath>..\packages\Zlib.Portable.1.9.2\lib\portable-net4+sl4+wp71+win8\Zlib.Portable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OsmSharp">
<HintPath>..\packages\OsmSharp.Core.0.0.0.35-beta\lib\MonoAndroid\OsmSharp.dll</HintPath>
</Reference>
<Reference Include="OsmSharp.Osm">
<HintPath>..\packages\OsmSharp.Core.0.0.0.35-beta\lib\MonoAndroid\OsmSharp.Osm.dll</HintPath>
</Reference>
<Reference Include="OsmSharp.Routing">
<HintPath>..\packages\OsmSharp.Routing.0.0.0.17-beta\lib\MonoAndroid\OsmSharp.Routing.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
Expand Down
20 changes: 10 additions & 10 deletions OsmSharp.Android.UI/Resources/Resource.designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

14 changes: 7 additions & 7 deletions OsmSharp.Android.UI/packages.config
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="modernhttpclient" version="1.2.2" targetFramework="MonoAndroid31" />
<package id="OsmSharp.Core" version="0.0.0.6-beta" targetFramework="MonoAndroid42" />
<package id="OsmSharp.Routing" version="0.0.0.11-beta" targetFramework="MonoAndroid42" />
<package id="protobuf-net" version="2.0.0.668" targetFramework="MonoAndroid42" />
<package id="Zlib.Portable" version="1.9.2" targetFramework="MonoAndroid42" />
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="modernhttpclient" version="1.2.2" targetFramework="MonoAndroid31" />
<package id="OsmSharp.Core" version="0.0.0.35-beta" targetFramework="MonoAndroid42" />
<package id="OsmSharp.Routing" version="0.0.0.17-beta" targetFramework="MonoAndroid42" />
<package id="protobuf-net" version="2.0.0.668" targetFramework="MonoAndroid42" />
<package id="Zlib.Portable" version="1.9.2" targetFramework="MonoAndroid42" />
</packages>
26 changes: 9 additions & 17 deletions OsmSharp.UI/Map/Layers/LayerTile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -221,20 +221,14 @@ private void LoadTile(object state)

OsmSharp.Logging.Log.TraceEvent("LayerTile", Logging.TraceEventType.Information, "Request tile@" + url);

Action<HttpWebResponse> responseAction = ((HttpWebResponse obj) =>
{
this.Response(obj, tile);

_loading.Remove(tile);
});
Action wrapperAction = () =>
{
request.BeginGetResponse(new AsyncCallback((iar) =>
{
var response = (HttpWebResponse)((HttpWebRequest)iar.AsyncState).EndGetResponse(iar);
try
{
var response = (HttpWebResponse)((HttpWebRequest)iar.AsyncState).EndGetResponse(iar);
responseAction(response);
this.Response(response, tile);

_loading.Remove(tile);
}
catch (WebException ex)
{ // catch webexceptions.
Expand Down Expand Up @@ -279,14 +273,12 @@ private void LoadTile(object state)
{ // oops, exceptions that are not webexceptions!?
OsmSharp.Logging.Log.TraceEvent("LayerTile", Logging.TraceEventType.Error, ex.Message);
}
finally
{
response.Close();
}
}), request);
};
wrapperAction.BeginInvoke(new AsyncCallback((iar) =>
{
var action = (Action)iar.AsyncState;
action.EndInvoke(iar);
}), wrapperAction);
}
}
catch (Exception ex)
{ // don't worry about exceptions here.
OsmSharp.Logging.Log.TraceEvent("LayerTile", Logging.TraceEventType.Error, ex.Message);
Expand Down
21 changes: 9 additions & 12 deletions OsmSharp.UI/OsmSharp.UI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -176,25 +176,22 @@
<Reference Include="Antlr3.Runtime">
<HintPath>..\packages\Antlr3.Runtime.PCL.3.5.0.3\lib\portable-win+net40+sl40+wp\Antlr3.Runtime.dll</HintPath>
</Reference>
<Reference Include="OsmSharp, Version=0.0.0.6, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OsmSharp.Core.0.0.0.6-beta\lib\portable-net40+sl4+win8+wp7\OsmSharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OsmSharp.Osm, Version=0.0.0.6, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OsmSharp.Core.0.0.0.6-beta\lib\portable-net40+sl4+win8+wp7\OsmSharp.Osm.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OsmSharp.Routing, Version=0.0.0.11, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OsmSharp.Routing.0.0.0.11-beta\lib\portable-net40+sl4+win8+wp7\OsmSharp.Routing.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="protobuf-net">
<HintPath>..\packages\protobuf-net.2.0.0.668\lib\portable-sl4+net40+wp7+windows8\protobuf-net.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="Zlib.Portable">
<HintPath>..\packages\Zlib.Portable.1.9.2\lib\portable-net4+sl4+wp71+win8\Zlib.Portable.dll</HintPath>
</Reference>
<Reference Include="OsmSharp.Osm">
<HintPath>..\packages\OsmSharp.Core.0.0.0.35-beta\lib\portable-net40+sl4+win8+wp7\OsmSharp.Osm.dll</HintPath>
</Reference>
<Reference Include="OsmSharp">
<HintPath>..\packages\OsmSharp.Core.0.0.0.35-beta\lib\portable-net40+sl4+win8+wp7\OsmSharp.dll</HintPath>
</Reference>
<Reference Include="OsmSharp.Routing">
<HintPath>..\packages\OsmSharp.Routing.0.0.0.17-beta\lib\portable-net40+sl4+win8+wp7\OsmSharp.Routing.dll</HintPath>
</Reference>
</ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Expand Down
14 changes: 7 additions & 7 deletions OsmSharp.UI/packages.config
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr3.Runtime.PCL" version="3.5.0.3" targetFramework="net40" />
<package id="OsmSharp.Core" version="0.0.0.6-beta" targetFramework="portable-net403+sl50+wp80+win+MonoAndroid10+xamarinios10+MonoTouch10" />
<package id="OsmSharp.Routing" version="0.0.0.11-beta" targetFramework="portable-net403+sl50+wp80+win+MonoAndroid10+xamarinios10+MonoTouch10" />
<package id="protobuf-net" version="2.0.0.668" targetFramework="net40" />
<package id="Zlib.Portable" version="1.9.2" targetFramework="net40" />
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Antlr3.Runtime.PCL" version="3.5.0.3" targetFramework="net40" />
<package id="OsmSharp.Core" version="0.0.0.35-beta" targetFramework="portable-net403+sl50+win+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10" />
<package id="OsmSharp.Routing" version="0.0.0.17-beta" targetFramework="portable-net403+sl50+win+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10" />
<package id="protobuf-net" version="2.0.0.668" targetFramework="net40" />
<package id="Zlib.Portable" version="1.9.2" targetFramework="net40" />
</packages>
10 changes: 9 additions & 1 deletion OsmSharp.WinForms.UI/IO/Web/NativeHttpWebRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace OsmSharp.WinForms.UI.IO.Web
/// <summary>
/// A native implementation the HttpWebRequest.
/// </summary>
internal class NativeHttpWebRequest : OsmSharp.IO.Web.HttpWebRequest
internal class NativeHttpWebRequest : OsmSharp.IO.Web.HttpWebRequest
{
/// <summary>
/// Holds the http webrequest.
Expand Down Expand Up @@ -97,5 +97,13 @@ public override OsmSharp.IO.Web.HttpWebResponse EndGetResponse(IAsyncResult iar)
{
return new NativeHttpWebResponse((System.Net.HttpWebResponse)_httpWebRequest.EndGetResponse(iar));
}

/// <summary>
/// Abort this instance.
/// </summary>
public override Void Abort ()
{
throw new System.NotImplementedException ();
}
}
}
10 changes: 9 additions & 1 deletion OsmSharp.WinForms.UI/IO/Web/NativeHttpWebResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace OsmSharp.WinForms.UI.IO.Web
/// <summary>
/// A native implementation the HttpWebResponse.
/// </summary>
internal class NativeHttpWebResponse : OsmSharp.IO.Web.HttpWebResponse
internal class NativeHttpWebResponse : OsmSharp.IO.Web.HttpWebResponse
{
/// <summary>
/// Holds the http webresponse.
Expand Down Expand Up @@ -66,5 +66,13 @@ public override Stream GetResponseStream()
{
return _httpWebResponse.GetResponseStream();
}

/// <summary>
/// Close this instance.
/// </summary>
public override Void Close ()
{
throw new System.NotImplementedException ();
}
}
}
31 changes: 13 additions & 18 deletions OsmSharp.WinForms.UI/OsmSharp.WinForms.UI.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -65,30 +65,25 @@
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<ItemGroup>
<Reference Include="OsmSharp, Version=0.0.0.6, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OsmSharp.Core.0.0.0.6-beta\lib\net40\OsmSharp.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OsmSharp.Osm, Version=0.0.0.6, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OsmSharp.Core.0.0.0.6-beta\lib\net40\OsmSharp.Osm.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OsmSharp.Routing, Version=0.0.0.11, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\OsmSharp.Routing.0.0.0.11-beta\lib\net40\OsmSharp.Routing.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="protobuf-net, Version=2.0.0.668, Culture=neutral, PublicKeyToken=257b51d87d2e4d67, processorArchitecture=MSIL">
<HintPath>..\packages\protobuf-net.2.0.0.668\lib\net40\protobuf-net.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Zlib.Portable, Version=1.9.1.9000, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="protobuf-net, Version=2.0.0.668, Culture=neutral, PublicKeyToken=257b51d87d2e4d67">
<HintPath>..\packages\protobuf-net.2.0.0.668\lib\net40\protobuf-net.dll</HintPath>
</Reference>
<Reference Include="Zlib.Portable, Version=1.9.1.9000, Culture=neutral, PublicKeyToken=null">
<HintPath>..\packages\Zlib.Portable.1.9.2\lib\portable-net4+sl4+wp71+win8\Zlib.Portable.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="OsmSharp.Osm">
<HintPath>..\packages\OsmSharp.Core.0.0.0.35-beta\lib\net40\OsmSharp.Osm.dll</HintPath>
</Reference>
<Reference Include="OsmSharp">
<HintPath>..\packages\OsmSharp.Core.0.0.0.35-beta\lib\net40\OsmSharp.dll</HintPath>
</Reference>
<Reference Include="OsmSharp.Routing">
<HintPath>..\packages\OsmSharp.Routing.0.0.0.17-beta\lib\net40\OsmSharp.Routing.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
Expand Down
12 changes: 6 additions & 6 deletions OsmSharp.WinForms.UI/packages.config
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="OsmSharp.Core" version="0.0.0.6-beta" targetFramework="net403" />
<package id="OsmSharp.Routing" version="0.0.0.11-beta" targetFramework="net403" />
<package id="protobuf-net" version="2.0.0.668" targetFramework="net403" />
<package id="Zlib.Portable" version="1.9.2" targetFramework="net403" />
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="OsmSharp.Core" version="0.0.0.35-beta" targetFramework="net403" />
<package id="OsmSharp.Routing" version="0.0.0.17-beta" targetFramework="net403" />
<package id="protobuf-net" version="2.0.0.668" targetFramework="net403" />
<package id="Zlib.Portable" version="1.9.2" targetFramework="net403" />
</packages>
10 changes: 9 additions & 1 deletion OsmSharp.iOS.UI/IO/Web/NativeHttpWebRequest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace OsmSharp.iOS.UI.IO.Web
/// <summary>
/// A native implementation the HttpWebRequest.
/// </summary>
internal class NativeHttpWebRequest : OsmSharp.IO.Web.HttpWebRequest
internal class NativeHttpWebRequest : OsmSharp.IO.Web.HttpWebRequest
{
/// <summary>
/// Holds the http webrequest.
Expand Down Expand Up @@ -97,5 +97,13 @@ public override OsmSharp.IO.Web.HttpWebResponse EndGetResponse(IAsyncResult iar)
{
return new NativeHttpWebResponse((System.Net.HttpWebResponse)_httpWebRequest.EndGetResponse(iar));
}

/// <summary>
/// Abort this instance.
/// </summary>
public override void Abort ()
{
_httpWebRequest.Abort ();
}
}
}
10 changes: 9 additions & 1 deletion OsmSharp.iOS.UI/IO/Web/NativeHttpWebResponse.cs
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ namespace OsmSharp.iOS.UI.IO.Web
/// <summary>
/// A native implementation the HttpWebResponse.
/// </summary>
internal class NativeHttpWebResponse : OsmSharp.IO.Web.HttpWebResponse
internal class NativeHttpWebResponse : OsmSharp.IO.Web.HttpWebResponse
{
/// <summary>
/// Holds the http webresponse.
Expand Down Expand Up @@ -66,5 +66,13 @@ public override Stream GetResponseStream()
{
return _httpWebResponse.GetResponseStream();
}

/// <summary>
/// Close this instance.
/// </summary>
public override void Close ()
{
throw new System.NotImplementedException ();
}
}
}
Loading

0 comments on commit b4db26a

Please sign in to comment.