Author: atsushi
Date: 2008-02-20 01:53:59 -0500 (Wed, 20 Feb 2008)
New Revision: 96220
Added:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/NamedPipeConnectionPoolSettings.cs
trunk/olive/class/System.ServiceModel/Test/System.ServiceModel.Channels/NamedPipeTransportBindingElementTest.cs
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/NamedPipetransportBindingElement.cs
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/TcpConnectionPoolSettings.cs
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/TcpTransportBindingElement.cs
trunk/olive/class/System.ServiceModel/System.ServiceModel.dll.sources
trunk/olive/class/System.ServiceModel/System.ServiceModel_test.dll.sources
trunk/olive/class/System.ServiceModel/Test/System.ServiceModel.Channels/ChangeLog
Log:
2008-02-20 Atsushi Enomoto <[EMAIL PROTECTED]>
* TcpTransportBindingElement.cs, TcpConnectionPoolSettings.cs :
clone connection pool settings too.
* NamedPipetransportBindingElement.cs,
NamedPipeConnectionPoolSettings.cs : let's clean them up too (not
being likely implemented though).
* NetNamedPipeTransportBindingElementTest.cs : new test.
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog
===================================================================
---
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog
2008-02-20 06:38:53 UTC (rev 96219)
+++
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/ChangeLog
2008-02-20 06:53:59 UTC (rev 96220)
@@ -1,5 +1,13 @@
2008-02-20 Atsushi Enomoto <[EMAIL PROTECTED]>
+ * TcpTransportBindingElement.cs, TcpConnectionPoolSettings.cs :
+ clone connection pool settings too.
+ * NamedPipetransportBindingElement.cs,
+ NamedPipeConnectionPoolSettings.cs : let's clean them up too (not
+ being likely implemented though).
+
+2008-02-20 Atsushi Enomoto <[EMAIL PROTECTED]>
+
* ConnectionOrientedTransportBindingElement.cs,
TcpTransportBindingElement.cs : some API updates.
Initialize default values.
Added:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/NamedPipeConnectionPoolSettings.cs
===================================================================
---
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/NamedPipeConnectionPoolSettings.cs
2008-02-20 06:38:53 UTC (rev 96219)
+++
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/NamedPipeConnectionPoolSettings.cs
2008-02-20 06:53:59 UTC (rev 96220)
@@ -0,0 +1,72 @@
+//
+// NamedPipeConnectionPoolSettings.cs
+//
+// Authors:
+// Atsushi Enomoto <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2008 Novell, Inc. http://www.novell.com
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+using System;
+using System.Collections.Generic;
+using System.Net;
+using System.ServiceModel.Channels;
+using System.ServiceModel.Description;
+
+namespace System.ServiceModel.Channels
+{
+ public sealed class NamedPipeConnectionPoolSettings
+ {
+ internal NamedPipeConnectionPoolSettings ()
+ {
+ }
+
+ string group_name = "default";
+ TimeSpan idle_timeout = TimeSpan.FromSeconds (120);
+ int max_conn = 10;
+
+ internal void CopyPropertiesFrom
(NamedPipeConnectionPoolSettings other)
+ {
+ group_name = other.group_name;
+ idle_timeout = other.idle_timeout;
+ max_conn = other.max_conn;
+ }
+
+ [MonoTODO]
+ public string GroupName {
+ get { return group_name; }
+ set { group_name = value; }
+ }
+
+ [MonoTODO]
+ public TimeSpan IdleTimeout {
+ get { return idle_timeout; }
+ set { idle_timeout = value; }
+ }
+
+ [MonoTODO]
+ public int MaxOutboundConnectionsPerEndpoint {
+ get { return max_conn; }
+ set { max_conn = value; }
+ }
+ }
+}
Property changes on:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/NamedPipeConnectionPoolSettings.cs
___________________________________________________________________
Name: svn:eol-style
+ native
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/NamedPipetransportBindingElement.cs
===================================================================
---
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/NamedPipetransportBindingElement.cs
2008-02-20 06:38:53 UTC (rev 96219)
+++
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/NamedPipetransportBindingElement.cs
2008-02-20 06:53:59 UTC (rev 96220)
@@ -39,25 +39,23 @@
{
public NamedPipeTransportBindingElement ()
{
- throw new NotImplementedException ();
}
protected NamedPipeTransportBindingElement (
NamedPipeTransportBindingElement other)
: base (other)
{
- throw new NotImplementedException ();
+ pool.CopyPropertiesFrom (other.pool);
}
- TimeSpan connect_timeout;
+ NamedPipeConnectionPoolSettings pool = new
NamedPipeConnectionPoolSettings ();
- public TimeSpan ConnectTimeout {
- get { return connect_timeout; }
- set { connect_timeout = value; }
+ public NamedPipeConnectionPoolSettings ConnectionPoolSettings {
+ get { return pool; }
}
public override string Scheme {
- get { throw new NotImplementedException (); }
+ get { return "net.pipe"; }
}
public override IChannelFactory<TChannel>
BuildChannelFactory<TChannel> (
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/TcpConnectionPoolSettings.cs
===================================================================
---
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/TcpConnectionPoolSettings.cs
2008-02-20 06:38:53 UTC (rev 96219)
+++
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/TcpConnectionPoolSettings.cs
2008-02-20 06:53:59 UTC (rev 96220)
@@ -45,6 +45,14 @@
TimeSpan lease_timeout = TimeSpan.FromSeconds (300);
int max_conn = 10;
+ internal void CopyPropertiesFrom (TcpConnectionPoolSettings
other)
+ {
+ group_name = other.group_name;
+ idle_timeout = other.idle_timeout;
+ lease_timeout = other.lease_timeout;
+ max_conn = other.max_conn;
+ }
+
[MonoTODO]
public string GroupName {
get { return group_name; }
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/TcpTransportBindingElement.cs
===================================================================
---
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/TcpTransportBindingElement.cs
2008-02-20 06:38:53 UTC (rev 96219)
+++
trunk/olive/class/System.ServiceModel/System.ServiceModel.Channels/TcpTransportBindingElement.cs
2008-02-20 06:53:59 UTC (rev 96220)
@@ -44,8 +44,7 @@
int listen_backlog = 10;
bool port_sharing_enabled = false;
bool teredo_enabled = false;
- TcpConnectionPoolSettings connection_pool_settings =
- new TcpConnectionPoolSettings ();
+ TcpConnectionPoolSettings pool = new TcpConnectionPoolSettings
();
public TcpTransportBindingElement ()
{
@@ -57,10 +56,11 @@
{
listen_backlog = other.listen_backlog;
port_sharing_enabled = other.port_sharing_enabled;
+ pool.CopyPropertiesFrom (other.pool);
}
public TcpConnectionPoolSettings ConnectionPoolSettings {
- get { return connection_pool_settings; }
+ get { return pool; }
}
public int ListenBacklog {
Modified: trunk/olive/class/System.ServiceModel/System.ServiceModel.dll.sources
===================================================================
--- trunk/olive/class/System.ServiceModel/System.ServiceModel.dll.sources
2008-02-20 06:38:53 UTC (rev 96219)
+++ trunk/olive/class/System.ServiceModel/System.ServiceModel.dll.sources
2008-02-20 06:53:59 UTC (rev 96220)
@@ -235,6 +235,7 @@
System.ServiceModel.Channels/MtomMessageEncoder.cs
System.ServiceModel.Channels/MtomMessageEncoderFactory.cs
System.ServiceModel.Channels/MtomMessageEncodingBindingElement.cs
+System.ServiceModel.Channels/NamedPipeConnectionPoolSettings.cs
System.ServiceModel.Channels/NamedPipetransportBindingElement.cs
System.ServiceModel.Channels/OneWayBindingElement.cs
System.ServiceModel.Channels/OneWayBindingElementImporter.cs
Modified:
trunk/olive/class/System.ServiceModel/System.ServiceModel_test.dll.sources
===================================================================
--- trunk/olive/class/System.ServiceModel/System.ServiceModel_test.dll.sources
2008-02-20 06:38:53 UTC (rev 96219)
+++ trunk/olive/class/System.ServiceModel/System.ServiceModel_test.dll.sources
2008-02-20 06:53:59 UTC (rev 96220)
@@ -26,6 +26,7 @@
System.ServiceModel.Channels/MessageTest.cs
System.ServiceModel.Channels/MessageVersionTest.cs
System.ServiceModel.Channels/MsmqTransportBindingElementTest.cs
+System.ServiceModel.Channels/NamedPipeTransportBindingElementTest.cs
System.ServiceModel.Channels/OneWayBindingElementTest.cs
System.ServiceModel.Channels/OutputChannelBase.cs
System.ServiceModel.Channels/ReplyChannelBase.cs
Modified:
trunk/olive/class/System.ServiceModel/Test/System.ServiceModel.Channels/ChangeLog
===================================================================
---
trunk/olive/class/System.ServiceModel/Test/System.ServiceModel.Channels/ChangeLog
2008-02-20 06:38:53 UTC (rev 96219)
+++
trunk/olive/class/System.ServiceModel/Test/System.ServiceModel.Channels/ChangeLog
2008-02-20 06:53:59 UTC (rev 96220)
@@ -1,5 +1,9 @@
2008-02-20 Atsushi Enomoto <[EMAIL PROTECTED]>
+ * NetNamedPipeTransportBindingElementTest.cs : new test.
+
+2008-02-20 Atsushi Enomoto <[EMAIL PROTECTED]>
+
* EnvelopeVersionTest.cs : updated to work with .NET 3.0 SP1.
* TcpTransportBindingElementTest.cs : new test.
Added:
trunk/olive/class/System.ServiceModel/Test/System.ServiceModel.Channels/NamedPipeTransportBindingElementTest.cs
===================================================================
---
trunk/olive/class/System.ServiceModel/Test/System.ServiceModel.Channels/NamedPipeTransportBindingElementTest.cs
2008-02-20 06:38:53 UTC (rev 96219)
+++
trunk/olive/class/System.ServiceModel/Test/System.ServiceModel.Channels/NamedPipeTransportBindingElementTest.cs
2008-02-20 06:53:59 UTC (rev 96220)
@@ -0,0 +1,120 @@
+//
+// NamedPipeTransportBindingElementTest.cs
+//
+// Author:
+// Atsushi Enomoto <[EMAIL PROTECTED]>
+//
+// Copyright (C) 2008 Novell, Inc. http://www.novell.com
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+using System;
+using System.Collections.ObjectModel;
+using System.IO;
+using System.Net;
+using System.Net.Security;
+using System.ServiceModel;
+using System.ServiceModel.Channels;
+using System.ServiceModel.Description;
+using System.Threading;
+using System.Xml;
+using NUnit.Framework;
+
+namespace MonoTests.System.ServiceModel.Channels
+{
+ [TestFixture]
+ public class NamedPipeTransportBindingElementTest
+ {
+ static BindingParameterCollection empty_params =
+ new BindingParameterCollection ();
+
+ [Test]
+ public void DefaultValues ()
+ {
+ NamedPipeTransportBindingElement be =
+ new NamedPipeTransportBindingElement ();
+ Assert.AreEqual (TimeSpan.FromSeconds (5),
be.ChannelInitializationTimeout, "#1");
+ Assert.AreEqual (0x2000, be.ConnectionBufferSize, "#2");
+ Assert.AreEqual (HostNameComparisonMode.StrongWildcard,
be.HostNameComparisonMode, "#3");
+ Assert.AreEqual (0x10000, be.MaxBufferSize, "#4");
+ Assert.AreEqual (TimeSpan.FromMilliseconds (200),
be.MaxOutputDelay, "#5");
+ Assert.AreEqual (1, be.MaxPendingAccepts, "#6");
+ Assert.AreEqual (10, be.MaxPendingConnections, "#7");
+ Assert.AreEqual (TransferMode.Buffered,
be.TransferMode, "#8");
+
+ Assert.AreEqual ("net.pipe", be.Scheme, "#11");
+ NamedPipeConnectionPoolSettings pool =
be.ConnectionPoolSettings;
+ Assert.IsNotNull (pool, "#13");
+ Assert.AreEqual ("default", pool.GroupName, "#14");
+ Assert.AreEqual (TimeSpan.FromSeconds (120),
pool.IdleTimeout, "#15");
+ Assert.AreEqual (10,
pool.MaxOutboundConnectionsPerEndpoint, "#17");
+ }
+
+ [Test]
+ public void CanBuildChannelFactory ()
+ {
+ NamedPipeTransportBindingElement be =
+ new NamedPipeTransportBindingElement ();
+ BindingContext ctx = new BindingContext (
+ new CustomBinding (), empty_params);
+ Assert.IsFalse
(be.CanBuildChannelFactory<IRequestChannel> (ctx), "#1");
+ Assert.IsFalse
(be.CanBuildChannelFactory<IInputChannel> (ctx), "#2");
+ Assert.IsFalse
(be.CanBuildChannelFactory<IReplyChannel> (ctx), "#3");
+ Assert.IsFalse
(be.CanBuildChannelFactory<IOutputChannel> (ctx), "#4");
+
+ Assert.IsFalse
(be.CanBuildChannelFactory<IRequestSessionChannel> (ctx), "#5");
+ Assert.IsFalse
(be.CanBuildChannelFactory<IInputSessionChannel> (ctx), "#6");
+ Assert.IsFalse
(be.CanBuildChannelFactory<IReplySessionChannel> (ctx), "#7");
+ Assert.IsFalse
(be.CanBuildChannelFactory<IOutputSessionChannel> (ctx), "#8");
+
+ // IServiceChannel is not supported
+ Assert.IsFalse
(be.CanBuildChannelFactory<IServiceChannel> (ctx), "#9");
+ Assert.IsFalse
(be.CanBuildChannelFactory<IClientChannel> (ctx), "#10");
+
+ Assert.IsTrue
(be.CanBuildChannelFactory<IDuplexSessionChannel> (ctx), "#11");
+ Assert.IsTrue
(be.CanBuildChannelFactory<IDuplexSessionChannel> (ctx), "#12");
+ }
+
+ [Test]
+ public void CanBuildChannelListener ()
+ {
+ NamedPipeTransportBindingElement be =
+ new NamedPipeTransportBindingElement ();
+ BindingContext ctx = new BindingContext (
+ new CustomBinding (), empty_params);
+ Assert.IsFalse
(be.CanBuildChannelListener<IReplyChannel> (ctx), "#1");
+ Assert.IsFalse
(be.CanBuildChannelListener<IOutputChannel> (ctx), "#2");
+ Assert.IsFalse
(be.CanBuildChannelListener<IRequestChannel> (ctx), "#3");
+ Assert.IsFalse
(be.CanBuildChannelListener<IInputChannel> (ctx), "#4");
+
+ Assert.IsFalse
(be.CanBuildChannelListener<IReplySessionChannel> (ctx), "#5");
+ Assert.IsFalse
(be.CanBuildChannelListener<IOutputSessionChannel> (ctx), "#6");
+ Assert.IsFalse
(be.CanBuildChannelListener<IRequestSessionChannel> (ctx), "#7");
+ Assert.IsFalse
(be.CanBuildChannelListener<IInputSessionChannel> (ctx), "#8");
+
+ // IServiceChannel is not supported
+ Assert.IsFalse
(be.CanBuildChannelListener<IServiceChannel> (ctx), "#9");
+ Assert.IsFalse
(be.CanBuildChannelListener<IClientChannel> (ctx), "#10");
+
+ Assert.IsFalse
(be.CanBuildChannelListener<IDuplexChannel> (ctx), "#11");
+ Assert.IsTrue
(be.CanBuildChannelListener<IDuplexSessionChannel> (ctx), "#12");
+ }
+ }
+}
Property changes on:
trunk/olive/class/System.ServiceModel/Test/System.ServiceModel.Channels/NamedPipeTransportBindingElementTest.cs
___________________________________________________________________
Name: svn:eol-style
+ native
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches