2008-09-18 Robert Jordan * TcpConnectionPool.cs: Set NoDelay on both profiles. 2008-09-18 Zoltan Varga * TcpConnectionPool.cs: Set the NoDelay flag on the socket to avoid excessive waiting by the tcp stack. Fixes #416462. 2008-09-17 Jeffrey Stedfast * TcpChannel.cs (ParseTcpURL): If given "tcp://", don't set host to "", leave it as null. * TcpClientChannel.cs (TcpClientChannel): Use the default SinkProviders if the sinkProvider argument is null. * TcpChannel.cs (ParseTcpURL): TcpClientTransportSink needs the host component, so extract that info into its own string as well. 2008-09-12 Jeffrey Stedfast Fix for bug #320298 * TcpClientTransportSink.cs: Updated for change to TcpChannel.ParseTcpURL(). We now need to do our own integer conversion/validation of the port. * TcpChannel.cs (ParseTcpURL): We need to match the protocol ("tcp") case-insensitively. The objectURI is supposed to include the leading '/' character. Also, we need to ignore invalid port designators since Microsoft's .NET implementation of TcpChannel.Parse() doesn't seem to care that they are valid. 2008-08-09 Gert Driesen * TcpChannel.cs: Fixed argument names to match MS. * TcpServerChannel.cs: Fixed argument names to match MS. 2008-06-18 Robert Jordan * TcpMessageIO.cs: Handle zero length streams. Fixes #398783. 2008-01-25 Zoltan Varga * TcpChannel.cs (Init): Handle properties == null. * TcpClientChannel.cs (.ctor): Ditto. Fixes #355905. 2006-01-09 Robert Jordan * TcpServerChannel.cs (ProcessMessages): Flush the stream only when necessary (TcpServerTransportSink.InternalProcessMessage does it anyway), otherwise pending OneWay & async messages are lost. * TcpMessageIO.cs (SendMessageStream): Mark OneWay messages as such. Fixes MS.NET interoperability. * TcpClientTransportSink.cs (AsyncProcessRequest): Use the new TcpMessageIO.SendMessageStream overload to mark OneWay requests. Fixes bug #80406. 2007-01-08 Lluis Sanchez Gual * TcpChannel.cs, TcpServerChannel.cs: Moved StartListening call to the constructor of TcpServerChannel. 2006-12-18 Lluis Sanchez Gual * TcpChannel.cs: The remoting infrastructure does not call StartListening() anymore, so it has to be called by the channel. 2006-09-15 Lluis Sanchez Gual * TcpServerTransportSink.cs, TcpServerChannel.cs: When sending an async call response, don't use the original request stream because it may have been used by another call. 2006-05-31 Gert Driesen * TcpClientChannel.cs: Marked CreateMessageSink virtual. * TcpServerChannel.cs: Marked GetUrlsForUri virtual. 2006-05-31 Gert Driesen * TcpClientChannel.cs: Set eol-style to native. * TcpChannel.cs: Fixed line endings. Set eol-style to native. * TcpServerTransportSink.cs: Fixed line endings. Set eol-style to native. * TcpConnectionPool.cs: Fixed line endings. Set eol-style to CRLF. * TcpClientTransportSinkProvider.cs: Fixed line endings. Set eol-style to native. * TcpMessageIO.cs: Set eol-style to native. * TcpServerChannel.cs: Fixed line endings. Set eol-style to native. * TcpClientTransportSink.cs: Fixed line endings. Set eol-style to native. 2005-11-08 Lluis Sanchez Gual * TcpServerChannel.cs: Fix null ref exception. 2005-11-06 Svetlana Zholkovsky * TcpServerChannel.cs, TcpConnectionPool.cs: only TARGET_JVM changes 2005-07-25 Lluis Sanchez Gual * TcpChannel.cs: Don't create a server channel when the default constructor is used. Fixes bug #75626. 2005-05-31 Lluis Sanchez Gual * TcpServerTransportSink.cs: Remove the channel uri from the received uri. 2005-05-31 Lluis Sanchez Gual * TcpServerChannel.cs: Use IP address in object uris by default. Fixes bug #54234. Removed unused field. * TcpClientTransportSink.cs: Fix warning. 2005-05-18 Lluis Sanchez Gual * TcpServerChannel.cs: In StopListening, wait for the server thread to stop before returning. This fixes bug #74962. 2005-01-25 Lluis Sanchez Gual * TcpServerTransportSink.cs: Set IPAddress and ConnectionId transport headers. This fixes bug #71423. * TcpServerChannel.cs: Use Socket instead of TcpClient, so we can easily get the IP address of the client. Added properties in ClientConnection to get the IP address and the connection id. 2005-01-21 Lluis Sanchez Gual * TcpMessageIO.cs: Added a buffer parameter to ReceiveMessageStatus, to avoid creating unneded buffers. * TcpServerChannel.cs, TcpClientTransportSink.cs: Use new buffer parameter in ReceiveMessageStatus. 2005-01-14 Lluis Sanchez Gual * TcpConnectionPool.cs: Don't limit client connections. This fixes bug #70700. Create connections from outside the pool lock. * TcpMessageIO.cs: Throw real exceptions when errors occur. * TcpServerChannel.cs: Use the new RemotingThreadPool to manage threads. This also fixes bug #70700. 2004-12-17 Lluis Sanchez Gual * TcpMessageIO.cs: Removed some more WriteByte calls. * TcpClientTransportSink.cs: Flush the net stream after writing a message. 2004-12-10 Lluis Sanchez Gual * TcpChannel.cs: Don't use regular expressions to parse the url, it's too slow. * TcpMessageIO.cs: Read byte chunks using the new StreamRead method, which won't block if the connection is closed. * TcpServerChannel.cs: Flush the stream after writing the response. Wrap the close call in a try/catch (some bytes can be left in the buffered stream if a connection is suddently closed, and it will fail when trying to flush them). 2004-12-09 Lluis Sanchez Gual * TcpConnectionPool.cs: Access the socket stream through a BufferedStream. * TcpMessageIO.cs: Avoid ReadByte(). * TcpServerChannel.cs: Access the socket stream through a BufferedStream. Abort the connection if an unknown message is received. All this fixes performance bug #70337. 2004-10-22 Lluis Sanchez Gual * TcpClientChannel.cs: In CreateMessageSink, process the remote channel data if the provided url does not have the expected format. This fixes a regression from the fix for bug #66768 and fixes #68669. 2004-07-15 Lluis Sanchez Gual * TcpServerChannel.cs: Set channel name from the provided properties. This fixes bug #61592. 2004-05-13 Lluis Sanchez Gual * TcpChannel.cs: Made Init private. * TcpClientTransportSink.cs, TcpClientTransportSinkProvider.cs, TcpServerTransportSink.cs: Made internal. 2004-04-16 Lluis Sanchez Gual * TcpClientChannel.cs: Initialize the sink provider in the default constructor. 2004-03-04 Lluis Sanchez Gual * TcpServerChannel.cs: In the ProcessMessages() loop, moved the closing of the stream to the finally block, so it is called if the thread is aborted. 2004-02-27 Lluis Sanchez Gual * TcpClientTransportSink.cs: Set the RequestUri transport header before sending the request. 2004-02-23 Lluis Sanchez Gual * TcpClientTransportSink.cs: Release the connection after sending an OneWay call. This fixes bug #54671. 2003-12-23 Lluis Sanchez Gual * TcpServerChannel.cs: If useIpAddress and bindAddress are both specified, set bindAddress as the host address for the client. 2003-12-19 Lluis Sanchez Gual * TcpServerChannel.cs: Fixes in channel initialization. 2003-12-12 Lluis Sanchez Gual * TcpChannel.cs: Added null check. 2003-11-16 Lluis Sanchez Gual * TcpClientChannel.cs: Added support for name and priority properties. * TcpServerChannel.cs: Added support for priority, bindTo, useIpAddress, machineName and supressChannelData properties. * TcpChannel.cs, TcpServerTransportSink.cs: Formatting change. 2003-11-13 Lluis Sanchez Gual * TcpChannel.cs: take into account name and priority properties. 2003-11-12 Lluis Sanchez Gual * TcpServerChannel.cs: Remove listener initialization and StartListening call from constructor. It is called now by the remoting framework. * TcpConnectionPool.cs: Removed fixme. Older log entries can be found in the System.Runtime.Remoting ChangeLog.