1 2009-05-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
5 * UdpClient.cs: use GetHostAddresses() instead of Resolve or
8 2009-05-11 Gonzalo Paniagua Javier <gonzalo@novell.com>
10 * UdpClient.cs: if possible, avoid DNS lookups when the host name is
11 an IP address. Related to bug #502866.
13 2009-04-30 Gonzalo Paniagua Javier <gonzalo@novell.com>
15 * Socket.cs: return the last error if a connect to multiple addresses
18 2009-04-22 Sebastien Pouliot <sebastien@ximian.com>
20 * Socket_2_1.cs: Use old-n-simple CheckProtocolSupport to implement
21 OSSupportsIP[v4|v6] for Moonlight (NET_2_1 only) so we can avoid
22 including a bunch of types (22) from System.Net.NetworkInformation
23 and drop the number of [SecuritySafeCritical] methods to audit (the
24 same 22) and [SecurityCritical] (8) beside getting a smaller
25 System.Net.dll assembly :)
27 2009-04-21 Gonzalo Paniagua Javier <gonzalo@novell.com>
29 * Socket.cs: End* methods can only be called once per IAsyncResult.
32 2009-04-09 Sebastien Pouliot <sebastien@ximian.com>
34 * Socket.cs: Split socket class into two files (this one and the
35 new Socket_2_1.cs). This let us remove (some) existing #if in the
36 sources and avoid (a lot) of new ones for Moonlight.
37 * Socket_2_1.cs: Just enough of socket for NET_2_1. This helps
38 the tuner not to bring a lot of extra stuff (some visible)
40 * SocketAsyncEventArgs.cs: Ifdef out some cases for NET_2_1 so
41 Moonlight can use it's own (smaller) SocketAsyncOperation enum
43 2009-02-17 Gonzalo Paniagua Javier <gonzalo@novell.com>
45 * Socket.cs: instead of clearing the sockets form the output and then
46 adding them back, we just remove the ones that have not been signaled.
47 Fixes bug #354090 and bug #476138.
49 2009-01-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
51 * Socket.cs: don't throw when there's no ipv6 configuration.
53 2009-01-09 Dick Porter <dick@ximian.com>
55 * Socket.cs: Special case 0-length receive requests in the
56 BeginAccept overloads that wait for data, so they behave as the
57 non-waiting version. Seems to match MS behaviour, fixes bug
60 2009-01-06 Gonzalo Paniagua Javier <gonzalo@novell.com>
62 * TcpClient.cs: use IPv6Any when the family is IPv6.
65 2008-12-30 Bill Holmes <billholmes54@gmail.com>
67 * Socket.cs (Accept_internal) : Changing the signature to pass
70 Code is contributed under MIT/X11 license.
72 2008-12-20 Miguel de Icaza <miguel@novell.com>
74 * SocketException.cs: Add missing API.
76 * SocketAsyncEventArgs.cs (Dispose): this has to be a public
77 member according to the specs.
79 2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
81 * Socket.cs: add a new ReceiveFrom_nocheck that does not throw an
82 exception in case of error.
84 2008-12-20 Gonzalo Paniagua Javier <gonzalo@novell.com>
86 * Socket.cs: if Blocking is set, translate a WouldBlock into a
89 2008-12-03 Gonzalo Paniagua Javier <gonzalo@novell.com>
91 * UdpClient.cs: don't Poll() in Receive(), the call to ReceiveFrom
92 will block anyway. Fixes bug #455894.
94 2008-11-12 Gonzalo Paniagua Javier <gonzalo@novell.com>
96 * Socket.cs: mark the socket as not connected when there is a pending
97 error or exception about to be thrown.
100 2008-09-10 Bill Holmes <billholmes54@gmail.com>
102 * Socket.cs : Adding a comment to provide locations where
103 changes to MonoSocketAsyncResult need to be synced.
105 Code is contributed under MIT/X11 license.
107 2008-09-06 Atsushi Enomoto <atsushi@ximian.com>
109 * Socket.cs : (SocketAsyncResult) release byte buffer early so that
110 it does not have to store extra data in pool. Fixed bug #397627.
112 2008-07-31 Jb Evain <jbevain@novell.com>
115 * NetworkStream.cs: cleanup for NET_2_1
117 * SocketException_2_1.cs: new specific version for NET_2_1.
119 2008-06-19 Dick Porter <dick@ximian.com>
121 * Socket.cs: Implement generic Send() and Receive() methods.
124 2008-06-12 Stephane Delcroix <sdelcroix@novell.com>
126 * Socket.cs: minimal changes to run in the 2.1 profile
128 2008-06-11 Stephane Delcroix <sdelcroix@novell.com>
130 * SocketAsyncEventArgs.cs: catch SocketException in ConnectAsync
131 and set the SocketError accordingly.
133 2008-05-09 Marek Habersack <mhabersack@novell.com>
135 * SocketAsyncEventArgs.cs: implemented support for executing
136 asynchronous socket actions, called from the new xxxxAsync methods
137 in Socket. The asynchronous operations do not use the ThreadPool
138 as I can't get the sample applications to work (send/receive
139 callbacks don't work) - it may change in the future.
141 * Socket.cs: implemented several xxxxAsync 2.0sp1 methods. The
142 ones not implemented for now are: ReceiveMessageFromAsync and
143 SendPacketsAsync. AcceptAsync doesn't perform the check for the
144 buffer size for now - need to implement runtime support for that.
145 Made several methods internal, so that they can be accessed from
146 SocketAsyncEventArgs code.
148 2008-05-08 Marek Habersack <mhabersack@novell.com>
150 * SocketAsyncOperation.cs, SendPacketsElement.cs,
151 SocketAsyncEventArgs.cs: added initial implementations for
152 2.0SP1/3.5 classes used in the (to be implemented) new xxxAsync
153 methods of the Socket class.
155 2008-04-17 Miguel de Icaza <miguel@novell.com>
157 * NetworkStream.cs: Throw an IOException if the socket is not
158 connected, not an ArgumentException.
160 Fixes #371923, it is also the way its documented on MSDN.
162 2008-04-13 Jb Evain <jbevain@novell.com>
164 * Socket.cs: ifdef out the Sys.Config part for the
166 Merged from the Moonlight 2 branch.
168 Wed Mar 12 20:06:07 CET 2008 Paolo Molaro <lupus@ximian.com>
170 * Socket.cs: add a static ctor so that ipv4Supported and ipv6Supported
171 are initialized (they are used by the runtime).
173 2008-02-01 Dick Porter <dick@ximian.com>
175 * TcpClient.cs: If the Connect fails (when given an array of
176 addresses) leave the socket object in a usable state. Fixes bug
179 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
181 * NetworkStream.cs : in 2.0 Close() is not needed and does not exist.
183 2007-11-01 Miguel de Icaza <miguel@novell.com>
185 * Socket.cs: Do not set the Send and Receive buffer sizes for the
186 socket to the defaults set on Windows, they kill our performance.
188 Thanks to Zoltan Varga for tracking the performance issue down.
191 2007-10-30 Dick Porter <dick@ximian.com>
193 * UdpClient.cs: Don't set the multicast option twice. Fixes bug
196 2007-10-21 Robert Jordan <robertj@gmx.net>
198 * Socket.cs: Remove GetHashCode override from the NET_2_0
199 profile. Add LAMESPEC comment. Fixes bug #325113.
201 2007-09-22 Gert Driesen <drieseng@users.sourceforge.net>
203 * Socket.cs: Removed unused method.
205 2007-08-02 Dick Porter <dick@ximian.com>
207 * Socket.cs: Patch from Brian Nickel (brian.nickel@gmail.com) to
208 improve EndPoint handling.
210 2007-07-08 Gert Driesen <drieseng@users.sourceforge.net>
212 * Socket.cs: Code formatting. Marked not implemented methods as TODO.
213 Removed extra spaces.
215 2007-07-04 Dick Porter <dick@ximian.com>
217 * Socket.cs: Don't set DontFragment by default for IPv6 sockets.
220 2007-05-16 Adar Wesley <adarw@mainsoft.com>
222 * Socket.jvm.cs: added missing methods EndDisconnect, IOControl,
223 Send 2.0 overloads, Receive 2.0 overloads, ReceiveMessageFrom,
224 BeginReceiveMessageFrom, EndReceiveMessageFrom,
225 EndAccept 2.0 overloads, BeginSend, EndSend, BeginReceive,
226 EndReceive, SendFile, BeginSendFile, EndSendFile, Disconnect,
229 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
231 * Socket.jvm.cs: Handle property throws NotImplementedException.
233 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
239 added MonoNotSupported attribute for TARGATE_JVM.
241 2007-03-11 Gert Driesen <drieseng@users.sourceforge.net>
243 * TcpClient.cs: Do not initialize network stream in Connect. In
244 Dispose, only nullify client if network stream was not obtained.
247 2007-01-30 Ilya Kharmatsky <ilyak -at- mainsoft.com>
249 * Socket.jvm.cs: additional stubs for net_2_0 properties,
250 bug fixes (EnsureStillUsable method inserted)
252 2007-01-28 Ilya Kharmatsky <ilyak -at- mainsoft.com>
254 * Socket.jvm.cs: added stubs for net_2_0 properties and methods.
256 2007-01-26 Dick Porter <dick@ximian.com>
258 * Socket.cs: SupportsIPv6 is obsolete in the 2.0 profile. Stub
259 out BeginReceiveMessageFrom(), BeginSendFile(),
260 EndReceiveMessageFrom(), EndSendFile(), ReceiveMessageFrom(), and
263 * IPPacketInformation.cs: New in the 2.0 profile
265 * SocketFlags.cs: Remove useless (and empty) inline documentation,
268 * TcpListener.cs: Mark Server as public in the 2.0 profile.
270 * UdpClient.cs: Mark Dispose(bool) as protected in the 2.0
273 System.Net.Sockets should now be 2.0-complete.
275 2007-01-26 Dick Porter <dick@ximian.com>
277 * Socket.cs: There's no point checking the SO_ERROR status of a
278 socket after poll() or select() if we already know that connected
281 2007-01-24 Dick Porter <dick@ximian.com>
284 * SocketInformationOptions.cs:
285 * TransmitFileOptions.cs: Fix enum values
287 * AddressFamily.cs: Not Serializable in the 2.0 profile
289 2007-01-24 Dick Porter <dick@ximian.com>
291 * NetworkStream.cs: 2.0 profile updates, based on a patch by
292 Sridhar Kulkarni (sridharkulkarni@gmail.com)
294 2007-01-23 Dick Porter <dick@ximian.com>
297 * TcpClient.cs: 2.0 profile updates, based on a patch by Sridhar
298 Kulkarni (sridharkulkarni@gmail.com)
300 2007-01-22 Miguel de Icaza <miguel@novell.com>
302 * Socket.cs: Move the throw new NotImplementedException ()
303 elsewhere to prevent Moma reports.
305 2007-01-20 Dick Porter <dick@ximian.com>
307 * Socket.cs(SocketDefaults): Catch and ignore any SocketExceptions
308 thrown from setting default socket options - some platforms might
309 not support a particular default we're trying to set.
311 2007-01-11 Dick Porter <dick@ximian.com>
314 * SocketInformation.cs:
316 * UdpClient.cs: 2.0 profile updates, loosely based on a patch by
319 * SocketInformationOptions.cs:
320 * TransmitFileOptions.cs: Implemented by Sridhar Kulkarni
321 (sridharkulkarni@gmail.com)
323 Wed Dec 13 12:04:02 CET 2006 Paolo Molaro <lupus@ximian.com>
325 * Socket.cs: stub ReceiveBufferSize and SendBufferSize to
326 get ironpython to compile.
328 2006-11-23 Dick Porter <dick@ximian.com>
330 * Socket.cs: Only set Connected = true in Poll() and Select() if
331 the socket error status is 0. Fixes bug 79878.
333 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
335 * Socket.cs,NetworkStream.cs,SocketException.cs: TARGET_JVM
337 2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
339 * Socket.cs: update the SocketOperation enum.
341 2006-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
343 * Socket.cs: replace hardcoded error numbers with the SocketError
344 values. When ReceiveTimeout is set on a blocking socket, correctly
345 report timeouts in the generated exception.
347 * SocketException.cs: add new internal ctor (int, string).
349 2006-08-12 Miguel de Icaza <miguel@novell.com>
351 * Socket.cs (NoDelay): Implement.
353 2006-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
355 * Socket.cs: patch from Sanghyeon Seo that implements
356 (Send|Receive)Timeout for 2.0.
357 * MulticastOption.cs: more 2.0 stuff.
359 2006-06-28 Atsushi Enomoto <atsushi@ximian.com>
361 * Socket.cs : use ConfigurationManager.GetSection() under NET_2_0.
362 Also make sure to avoid NRE.
364 2006-06-24 Zoltan Varga <vargaz@gmail.com>
366 * Socket.cs: Add stubs for net 2.0 SendTimeout and ReceiveTimeout properties.
368 2006-06-20 Zoltan Varga <vargaz@gmail.com>
370 * ProtocolType.cs SocketOptionName.cs: Add missing net 2.0 fields.
372 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
374 * NetworkStream.cs: Marked Dispose (bool) virtual on 1.x profile.
376 2006-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
379 * SocketError.cs: implemented Reseive/Send overloads that do not throw
380 in case of error. Patch by Tomi Valkeinen.
382 2006-03-11 Miguel de Icaza <miguel@novell.com>
384 * NetworkStream.cs (Dispose): Use the right signature depending on
385 the profile being built.
387 2006-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
389 * Socket.cs: pass something not empty to the unixep ctor.
391 2006-03-03 Dick Porter <dick@ximian.com>
393 * UdpClient.cs: Fix IPv6 family check. Fixes bug 77689.
395 2006-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
397 * TcpClient.cs: when the socket is not connected, don't try to set the
398 socket options, as they are ignored on linux. Wait until Connect
399 succeeds and then apply the options.
401 2006-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
403 * Socket.cs: added a missing overload for SetSocketOption.
405 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
407 * Socket.cs: use the 2.0 configuration classes when checking for IPv6
410 2006-01-04 Sebastien Pouliot <sebastien@ximian.com>
412 * TcpClient.cs: The Client property is public in 2.0 while it was
413 protected in earlier release. Fix bug #77048.
415 2005-12-07 Robert Jordan <robertj@gmx.net>
417 * SocketError.cs: Added.
418 * SocketException: Implemented SocketErrorCode. Fixes bug #76915.
420 2005-10-11 Dick Porter <dick@ximian.com>
422 * Socket.cs: Don't call connect(2) twice for non-blocking sockets,
423 it breaks on macos (and probably other bsd-based stacks too,) use
424 poll() and getsockopt() to check if it worked.
426 2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
428 * Socket.cs: add checks for 'disposed' all over. Fixes bug #76249.
430 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
432 * TcpClient.cs: patch by Hans Kratz that uses an integer when setting
433 NoDelay instead of a bool, which is only handled in 2.0.
435 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
437 * Socket.cs: disallow connecting to .Any addresses. Fixes bug #75154.
439 2005-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
441 * Socket.cs: adapted Select to the new Select_internal that uses poll()
442 instead of select(). Managed part of the fix for bug #71203.
444 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
446 * Socket.cs: apply the same hack on blocking Connect calls as the one
449 2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
451 * Socket.cs: see bug #74842, which is fixed with this patch for details
452 and test cases on the blocking behavior of accept() when close() is
453 called from another thread. The solution applied is to Abort the thread
454 that is blocking in Accept_internal() when someone calls Close (), then
455 reset the abort state if the socket is disposed and return the same
456 error as MS (10004 - interrupted).
458 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
460 * Socket.cs: match MS behavior on SetSocketOption with a boolean
461 argument. MS 1.1 throws an ArgumentException, but 2.0 turns true/false
462 into 1/0 and works fine. Fixes bug #71753. Added checks for disposed
463 in the 3 SetSocketOption.
465 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
467 * Socket.cs: if there are outstanding aio requests and one of them gets
468 an ObjectDisposedException, throw the same exception for the rest.
470 2005-05-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
472 * Socket.cs: removed hack added to fix bug #53229 (more than a year ago)
473 that kept sockets opened until all AIO operations where finished. If
474 the socket is closed, Receive returns 0 in EndReceive, the rest throw
475 the ObjectDisposedException. Set the socket handle to -1 when closing.
477 2005-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
479 * Socket.cs: Begin/End Send/SendTo guarantee that all bytes are written
480 or an exception is thrown. Fixes bug #74475.
482 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
484 * Socket.cs: no need for locking in Worker. The actual read / write for
485 Receive / Send is performed in the runtime time.
487 2005-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
489 * Socket.cs: added a 'blocking' field that is passed to the runtime.
491 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
493 * Socket.cs: invoke the callback after scheduling the next request for
494 the socket. Fixes bug #74539.
496 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
498 * Socket.cs: update socket connected status in an async request finishes
499 synchronously. Use 'callback' instead of 'real_callback' field, which is
502 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
504 * Socket.cs: added SocketOperation enum and 2 new fields to
505 SocketAsyncResult that are used by the runtime. Asynchronous read/write
506 are serialized so that only 1 of each kind is really 'active'.
507 Handle non-blocking connects in BeginConnect instead of doing 2 Poll()
510 * NetworkStream.cs: better message for the exception.
512 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
514 * Socket.cs: remove unused async IO code.
516 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
518 * Socket.cs: don't Poll/block in Connect aither.
520 2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
522 * Socket.cs: don't block on Accept if the socket is non-blocking.
523 Fixes bug #73053. Patch by Ankit Jain.
525 2005-02-23 Dick Porter <dick@ximian.com>
527 * UdpClient.cs: Set the Broadcast option, as apparently the MS
528 runtime defaults make UDP sockets broadcastable.
530 2004-12-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
532 * Socket.cs: for Receive*/Send*, don't set the connected status to false
533 when the error is EINPROGRESS or EWOULDBLOCK.
535 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
537 * NetworkStream.cs: Write should ensure that writes all the contents
538 of the buffer. Fixes bug #70123. Besos para Miguelito.
540 2004-10-14 Dick Porter <dick@ximian.com>
542 * Socket.cs (Sockets ): Set Accept()ed socket blocking status to
543 be the same as the listening socket. This follows MS behaviour.
545 2004-08-04 Dick Porter <dick@ximian.com>
547 * Socket.cs: Update Connected state in Select and Poll; this is
548 when we find out that non-blocking Connects succeed. Fixes bug
551 2004-07-28 Dick Porter <dick@ximian.com>
553 * Socket.cs: ReceiveFrom might not return a valid EndPoint. Patch
554 by Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61608.
556 2004-07-15 Dick Porter <dick@ximian.com>
558 * Socket.cs: Don't try and dereference a null array in Select()
559 (possible if a descriptor list of length 0 was passed.) Patch by
560 Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61595.
562 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
564 * Socket.cs: if'ed RemoveReferences calls.
566 2004-07-09 Dick Porter <dick@ximian.com>
568 * Socket.cs: Slight tweak to allow unknown objects to be returned
569 by GetSocketOption().
571 2004-06-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
573 * Socket.cs: connect on non-blocking sockets returns EINPROGRESS. Fixes
576 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
578 * Socket.cs: wrong error code in connect and accept. EWOULDBLOCK is
579 10035. Fixes bug #60563.
581 2004-06-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
583 * Socket.cs: fixed Accept for non-blocking sockets.
585 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
587 * LingerOption.cs: marked field private to fix API signature
588 * MulticastOption.cs: marked field private to fix API signature
590 2004-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
592 * Socket.cs: throw ArgumentNullException if all the list are null OR
593 empty. Fixes bug #59632.
595 2004-05-21 Patrik Torstensson <totte@hiddenpeaks.com>
597 * TcpListener.cs: Fixes a lot of the problems with remoting nunit tests.
599 (AcceptTcpClient): Don't create TcpClient before a
600 connection is accepted.
602 (LocalEndPoint): Use Server LocalEndPoint if connected
603 otherwise use endpoint from ctor.
605 (Init): Save end point, not server endpoint. This did
606 cause TcpListener to ignore port sent via constructor.
608 (Pending): Fixed wait time (method should return directly)
610 (Start): Moved Bind here instead of Init method; old method
611 caused us to bind ports even if the listener was stopped.
613 (Stop): Null server when stopping
615 2004-05-13 Dick Porter <dick@ximian.com>
618 * TcpClient.cs: Public API fixes
620 2004-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
622 * Socket.cs: fixed Connect for non-blocking sockets. Closes bug #58169.
624 2004-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
626 * Socket.cs: fix for BeginConnect and non-blocking sockets.
628 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
630 * Socket.cs: Use assembly name const to load Mono.Posix.
632 2004-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
634 * Socket.cs: only enable socket AIO if MONO_ENABLE_SOCKET_AIO is there.
635 I will remove this once THE bug is hunted.
637 2004-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
639 * Socket.cs: added support for unmanaged asynchronous IO. Speed up
641 * UdpClient.cs: fixed Dispose so that it only closes the socket when
644 2004-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
646 * Socket.cs: added GetSupportsAsync and Poll_internal internal calls.
647 Cleaned up Worker class: moved fields to SocketAsyncResult and use Poll
648 when the socket is non-blocking before getting EWOULDBLOCK error.
650 2004-04-08 Dick Porter <dick@ximian.com>
652 * Socket.cs: Rearrange the internal calls so that the exceptions
653 are thrown from managed code
655 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
657 * Socket.cs: when Dispose (bool) is called from the finalizer, always
658 do the cleanup. Fixes yet another nullref with xsp.
660 2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
662 * Socket.cs: implemented IOControl.
664 2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
666 * Socket.cs: use the threadpool for asynchronous calls instead of
667 creating new threads.
669 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
671 * Socket.cs: added locks around waithandle assign and comparison in
672 class Worker. Handle other exceptions than SocketException for
673 non-blocking sockets.
675 2004-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
677 * Socket.cs: handle WSAEWOULDBLOCK for non-blocking sockets. Fixes
678 bug #53168. Avoid the creation of the ManualResetEvent in class Worker
681 2004-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
683 * Socket.cs: if we have a pending async event, delay socket closing
684 until EndX is called. Fixes bug #53229. Check parameters and if the
685 socket has been disposed. Implemented IDisposable explicitly. The
686 threads created have IsBackground = true now.
688 2004-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
690 * Socket.cs: patch from Brad Fitzpatrick <brad@danga.com> episode 2.
692 2003-12-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
694 * Socket.cs: fix for several asynchronous methods to delay exception
695 throwing. Patch by Brad Fitzpatrick <brad@danga.com>.
697 2003-12-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
699 * TcpListener.cs: get the LocalEndPoint from the socket after binding.
702 2003-10-20 Miguel de Icaza <miguel@ximian.com>
704 * TcpClient.cs: Fix void Dispose (bool disposing) to follow the
705 pattern. It was shutting down the managed resources even in the
706 finalizer case, it should only do that when called from
709 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
711 * NetworkStream.cs: Added [In,Out] attributes to Read method.
713 2003-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
715 * TcpListener.cs: various fixes to make the new tests pass. Closes
718 2003-08-10 Miguel de Icaza <miguel@ximian.com>
720 * UdpClient.cs (Receive): Fix Bug 45633; We should do a blocking
721 call until a datagram is arrives from the remote host. This
722 removes the 512 "magic" buffer size when we did not have any data.
724 2003-07-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
727 * Socket.cs: fixed array boundary checks. 0 sized arrays are allowed.
729 2003-07-18 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
731 * Socket.cs: Added GetHashCode method
733 2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
737 * SocketOptionLevel.cs:
744 * IPv6MulticastOption.cs: Added for IPv6 support.
746 2003-05-16 Dick Porter <dick@ximian.com>
748 * Socket.cs: Use Mono.Posix.UnixEndPoint if its available
750 2003-05-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
752 * MulticastOption.cs: patch by Jerome Laban included in bug #42393.
754 2003-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
757 (Select): don't create arrays if not needed.
758 (Poll): call Select_internal directly.
760 Warning: you need an up to date runtime for this to work!
762 2003-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
764 * UdpClient.cs: don't bind the socket unless .ctor (IPEndPoint) is used.
765 Added more checks and throws.
766 Small fixes in Send to avoid duplicating the buffer.
767 Moved CheckIfDisposed calls to the start of the methods instead of doing
768 the check inside a finally clause.
770 2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
773 (SendTo): fix from Jerome Laban <jlaban@wanadoo.fr>.
775 2003-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
777 * Socket.cs: patch from Elan Feingold <efeingold@mn.rr.com>. Fixes
778 NullReferenceException when the callback is null.
780 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
782 * NetworkStream.cs: allow 0 size array in Write.
784 2003-02-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
786 * Socket.cs: make Worker.Connect and Receive work with non-blocking
787 sockets. May be Receive* and Send* in Worker need to do the same. I'll
788 wait for bug reports. Set IsCompleted to true before invoking the end
789 callback. Fixes bug #38136.
791 2003-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
793 * NetworkStream.cs: the check for disposed should not be done in the
796 2003-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
798 * UdpClient.cs: fixed bug #36226.
800 2002-11-13 Dick Porter <dick@ximian.com>
802 * Socket.cs: Only close the socket in one place, ie the Dispose
803 method. Fixes bug 32054.
805 2002-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
807 * Socket.cs: offset == size == 0 it's ok in Send ().
809 2002-11-03 Phillip Pearson <pp@myelin.co.nz>
811 * TcpClient.cs: Fixed SetTcpClient() to pass through to the Client
812 property, which now sets stream to null (it's set by GetStream()). This
813 should make GetStream() work on a TcpClient which has had the socket set
814 by assignment to the Client property, not only one that has been created
815 by TcpListener.AcceptTcpClient().
817 2002-10-08 Dick Porter <dick@ximian.com>
820 * NetworkStream.cs: Bounds checking fixes, and better exception
821 texts. Changes by timothyjmills@hotmail.com (Timothy J. Mills).
823 2002-10-03 Dick Porter <dick@ximian.com>
825 * TcpClient.cs: NoDelay is a TCP option, not Socket
827 2002-09-16 Miguel de Icaza <miguel@ximian.com>
829 * SocketFlags.cs: Add missing enumeration.
831 * UdpClient.cs: Make Dispose private.
833 2002-08-20 Dick Porter <dick@ximian.com>
835 * Socket.cs: Fix deadlock when the AsyncResult callback calls
836 End*(). Set the async request's worker property so it can return
837 results. These two fixes combined fix bug 28092.
839 2002-06-24 Dick Porter <dick@ximian.com>
841 * Socket.cs: Make SetSocketOption cope with boolean values (they
842 are passed as objects, not the ints the runtime was expecting)
844 2002-05-17 Lawrence Pit <loz@cable.a2000.nl>
845 * TcpListener.cs: Renamed LocalEndPoint to LocalEndpoint
846 * NetworkStream.cs, UdpClient.cs and TcpClient.cs: modified disposable
847 routines, added checks for disposed state.
848 * UdpClient.cs: commented out GetHashCode and Equals as it's not
849 overriden in ms.net implementation.
851 2002-05-17 Jaroslaw Kowalski <jarek@atm.com.pl>
852 * TcpClient.cs: fixed SetTcpClient so that
853 TcpListener.AcceptTcpClient works and allows
854 you to call GetStream() on its result
856 2002-04-24 Dick Porter <dick@ximian.com>
858 * Socket.cs (Poll): Give correct argument to Select(), as spotted
859 by Jaroslaw Kowalski <jarek@atm.com.pl>
861 2002-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
863 * UdpClient.cs: implemented.
865 2002-04-02 Dick Porter <dick@ximian.com>
867 * TcpListener.cs: in Start(), set the socket listen backlog value
868 to a sane value (noticed by Jonathan Stowe <gellyfish@gellyfish.com>)
870 2002-02-13 Dick Porter <dick@ximian.com>
872 * Socket.cs: Implemenent Select, Blocking, Connected,
873 GetSocketOption, Poll, SetSocketOption and Shutdown
875 * MulticastOption.cs:
876 * LingerOption.cs: Delete override methods that don't need to be
879 2002-01-23 Miguel de Icaza <miguel@ximian.com>
881 * NetworkStream.cs: Implement class.
883 2002-01-23 Dick Porter <dick@ximian.com>
885 * SocketException.cs: Implemented
887 * Socket.cs: Implemented most methods
889 * LingerOption.cs: Made compile
891 * AddressFamily.cs: Removed empty auto-generated comments
893 2002-01-17 Miguel de Icaza <miguel@ximian.com>
895 * SocketException.cs: Reimplemented.
897 2002-01-06 Ravi Pratap <ravi@ximian.com>
899 * ChangeLog : Add to this directory.
901 * SocketException.cs, TcpClient.cs, TcpListener.cs : MonoTODO
902 attribute decoration.