2010-04-15 Jb Evain <jbevain@novell.com>
[mcs.git] / class / System.ServiceModel / System.ServiceModel.Channels / PeerOutputChannel.cs
blob82a1ee0434cf2fc3c133a0c234efb9653fc6b011
1 #if false
2 //
3 // PeerOutputChannel.cs
4 //
5 // Author:
6 // Atsushi Enomoto <atsushi@ximian.com>
7 //
8 // Copyright (C) 2006 Novell, Inc. http://www.novell.com
9 //
10 // Permission is hereby granted, free of charge, to any person obtaining
11 // a copy of this software and associated documentation files (the
12 // "Software"), to deal in the Software without restriction, including
13 // without limitation the rights to use, copy, modify, merge, publish,
14 // distribute, sublicense, and/or sell copies of the Software, and to
15 // permit persons to whom the Software is furnished to do so, subject to
16 // the following conditions:
17 //
18 // The above copyright notice and this permission notice shall be
19 // included in all copies or substantial portions of the Software.
20 //
21 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
24 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
25 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
26 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
27 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
29 using System;
30 using System.Collections.Generic;
31 using System.IO;
32 using System.Net;
33 using System.Net.Security;
34 using System.ServiceModel;
35 using System.ServiceModel.Description;
36 using System.ServiceModel.Security;
37 using System.Threading;
39 namespace System.ServiceModel.Channels
41 internal class PeerOutputChannel : OutputChannelBase
43 PeerChannelFactory<IOutputChannel> factory;
44 PeerResolver resolver;
45 PeerNode node;
47 public PeerOutputChannel (PeerChannelFactory<IOutputChannel> factory, EndpointAddress address, Uri via, PeerResolver resolver)
48 : base (factory, address, via)
50 this.factory = factory;
51 this.resolver = resolver;
53 // It could be opened even with empty list of PeerNodeAddresses.
54 // So, do not create PeerNode per PeerNodeAddress, but do it with PeerNodeAddress[].
55 node = new PeerNodeImpl (resolver, RemoteAddress, factory.Source.Port);
58 // OutputChannelBase
60 public override IAsyncResult BeginSend (Message message, TimeSpan timeout, AsyncCallback callback, object state)
62 throw new NotImplementedException ();
65 public override void EndSend (IAsyncResult result)
67 throw new NotImplementedException ();
70 // CommunicationObject
72 [MonoTODO]
73 protected override void OnAbort ()
75 throw new NotImplementedException ();
78 [MonoTODO]
79 protected override IAsyncResult OnBeginClose (TimeSpan timeout,
80 AsyncCallback callback, object state)
82 throw new NotImplementedException ();
85 [MonoTODO]
86 protected override IAsyncResult OnBeginOpen (TimeSpan timeout,
87 AsyncCallback callback, object state)
89 throw new NotImplementedException ();
92 protected override void OnClose (TimeSpan timeout)
94 node.Close (timeout);
97 [MonoTODO]
98 protected override void OnEndClose (IAsyncResult result)
100 throw new NotImplementedException ();
103 [MonoTODO]
104 protected override void OnEndOpen (IAsyncResult result)
106 throw new NotImplementedException ();
109 protected override void OnOpen (TimeSpan timeout)
111 node.Open (timeout);
115 #endif