[Mono-list] System.Runtime.Remoting.Channels Interfaces

Kevin Winchester kwin@ns.sympatico.ca
Mon, 25 Feb 2002 21:58:19 -0400


This is a multi-part message in MIME format.

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0031_01C1BE47.88D68480"


------=_NextPart_001_0031_01C1BE47.88D68480
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable


Here are some more interfaces.  This time from a namespace that doesn't =
even exist yet.  I don't know how important channels are, so I'm not =
sure if this is warranted, but I wouldn't mind implementing all of =
Channels if anyone would find it useful.  Of course this all waits on my =
getting access to a c# compiler.

Until then, I'll be off to do more interfaces...

Kevin


------=_NextPart_001_0031_01C1BE47.88D68480
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2713.1100" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Here are some more interfaces.&nbsp; This time from =
a=20
namespace that doesn't even exist yet.&nbsp; I don't know how important =
channels=20
are, so I'm not sure if this is warranted, but I wouldn't mind =
implementing all=20
of Channels if anyone would find it useful.&nbsp; Of course this all =
waits on my=20
getting access to a c# compiler.</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Until then, I'll be off to do more =
interfaces...</FONT></DIV>
<DIV><FONT size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT size=3D2>Kevin</FONT></DIV>
<DIV>&nbsp;</DIV></BODY></HTML>

------=_NextPart_001_0031_01C1BE47.88D68480--

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IServerChannelSinkProvider.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="IServerChannelSinkProvider.cs"

//
// System.Runtime.Remoting.Channels.IServerChannelSinkProvider.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IServerChannelSinkProvider {
		IServerChannelSinkProvider Next {get; set;}
		IServerChannelSink CreateSink (IChannelReceiver channel);
		void GetChannelData(IChannelDataStore channelData);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IChannelDataStore.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="IChannelDataStore.cs"

//
// System.Runtime.Remoting.Channels.IChannelDataStore.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IChannelDataStore {
		string[] ChannelUris {get;}
		object this[object key] {get; set;}
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IChannelReceiver.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="IChannelReceiver.cs"

//
// System.Runtime.Remoting.Channels.IChannelReceiver.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IChannelReceiver : IChannel {
		object ChannelData {get;}
		string[] GetUrlsForUri (string objectURI);
		void StartListening (object data);
		void StopListening (object data);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IChannelReceiverHook.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="IChannelReceiverHook.cs"

//
// System.Runtime.Remoting.Channels.IChannelReceiverHook.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IChannelReceiverHook {
		string ChannelScheme {get;}
		IServerChannelSink ChannelSinkChain {get;}
		bool WantsToListen {get;}
		void AddHookChannelUri (string channelUri);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IChannelSinkBase.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="IChannelSinkBase.cs"

//
// System.Runtime.Remoting.Channels.IChannelSinkBase.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IChannelSinkBase {
		IDictionary Properties {get;}
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IClientChannelSink.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="IClientChannelSink.cs"

//
// System.Runtime.Remoting.Channels.IClientChannelSink.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IClientChannelSink : IChannelSinkBase {
		IClientChannelSink NextChannelSink {get;}
		void AsyncProcessRequest (IClientChannelSinkStack sinkStack, IMessage =
msg, ITransportHeaders headers, Stream stream);
		void AsyncProcessResponse (IClientResponseChannelSinkStack sinkStack, =
object state, ITransportHeaders headers, Stream stream);
		Stream GetRequestStream (IMessage msg, ITransportHeaders headers);
		void ProcessMessage (IMessage msg, ITransportHeaders requestHeaders, =
Stream requestStream, out ITransportHeaders responseHeaders, out Stream =
responseStream);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IClientChannelSinkProvider.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="IClientChannelSinkProvider.cs"

//
// System.Runtime.Remoting.Channels.IClientChannelSinkProvider.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IClientChannelSinkProvider {
		IClientChannelSinkProvider Next {get; set;}
		IClientChannelSink CreateSink (IChannelSender channel, string url, =
object remoteChannelData);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IClientChannelSinkStack.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="IClientChannelSinkStack.cs"

//
// System.Runtime.Remoting.Channels.IClientChannelSinkStack.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IClientChannelSinkStack : =
IClientResponseChannelSinkStack {
		object Pop (IClientChannelSink sink);
		void Push (IClientChannelSink sink, object state);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IClientFormatterSink.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="IClientFormatterSink.cs"

//
// System.Runtime.Remoting.Channels.IClientFormatterSink.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IClientFormatterSink : IMessageSink, =
IClientChannelSink, IChannelSinkBase {
		object Pop (IClientChannelSink sink);
		void Push (IClientChannelSink sink, object state);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IClientFormatterSinkProvider.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="IClientFormatterSinkProvider.cs"

//
// System.Runtime.Remoting.Channels.IClientFormatterSinkProvider.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IClientFormatterSinkProvider {
		void AsyncProcessResponse (ITransportHeaders headers, Stream stream);
		void DispatchException (Exception e);
		void DispatchReplyMessage (IMessage msg);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IServerChannelSink.cs"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="IServerChannelSink.cs"

//
// System.Runtime.Remoting.Channels.IServerChannelSink.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IServerChannelSink : IChannelSinkBase {
		IServerChannelSink NextChannelSink {get;}
		void AsyncProcessResponse (IServerResponseChannelSinkStack sinkStack, =
object state, IMessage msg, ITransportHeaders headers, Stream stream);
		Stream GetResponseStream (IServerResponseChannelSinkStack sinkStack, =
object state, IMessage msg, ITransportHeaders headers);
		ServerProcessing ProcessMessage (IServerChannelSinkStack sinkStack, =
IMessage requestMsg, ITransportHeaders requestHeaders, Stream =
requestStream, out IMessage responseMsg, out ITransportHeaders =
responseHeaders, out Stream responseStream);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480
Content-Type: application/octet-stream;
	name="IChannel.cs"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename="IChannel.cs"

//
// System.Runtime.Remoting.Channels.IChannel.cs
//
// Author:
//   Kevin Winchester (kwin@ns.sympatico.ca)
//
// (C) 2002 Kevin Winchester
//

namespace System.Runtime.Remoting.Channels {

	public interface IChannel {
		string ChannelName {get;}
		int ChannelPriority {get;}
		string Parse(string url, out string objectURI);
	}
}

------=_NextPart_000_0030_01C1BE47.88D68480--