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  -  Mono-patches@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to