1 2008-07-31 Jb Evain <jbevain@novell.com>
4 * NetworkStream.cs: cleanup for NET_2_1
6 * SocketException_2_1.cs: new specific version for NET_2_1.
8 2008-06-19 Dick Porter <dick@ximian.com>
10 * Socket.cs: Implement generic Send() and Receive() methods.
13 2008-06-12 Stephane Delcroix <sdelcroix@novell.com>
15 * Socket.cs: minimal changes to run in the 2.1 profile
17 2008-06-11 Stephane Delcroix <sdelcroix@novell.com>
19 * SocketAsyncEventArgs.cs: catch SocketException in ConnectAsync
20 and set the SocketError accordingly.
22 2008-05-09 Marek Habersack <mhabersack@novell.com>
24 * SocketAsyncEventArgs.cs: implemented support for executing
25 asynchronous socket actions, called from the new xxxxAsync methods
26 in Socket. The asynchronous operations do not use the ThreadPool
27 as I can't get the sample applications to work (send/receive
28 callbacks don't work) - it may change in the future.
30 * Socket.cs: implemented several xxxxAsync 2.0sp1 methods. The
31 ones not implemented for now are: ReceiveMessageFromAsync and
32 SendPacketsAsync. AcceptAsync doesn't perform the check for the
33 buffer size for now - need to implement runtime support for that.
34 Made several methods internal, so that they can be accessed from
35 SocketAsyncEventArgs code.
37 2008-05-08 Marek Habersack <mhabersack@novell.com>
39 * SocketAsyncOperation.cs, SendPacketsElement.cs,
40 SocketAsyncEventArgs.cs: added initial implementations for
41 2.0SP1/3.5 classes used in the (to be implemented) new xxxAsync
42 methods of the Socket class.
44 2008-04-17 Miguel de Icaza <miguel@novell.com>
46 * NetworkStream.cs: Throw an IOException if the socket is not
47 connected, not an ArgumentException.
49 Fixes #371923, it is also the way its documented on MSDN.
51 2008-04-13 Jb Evain <jbevain@novell.com>
53 * Socket.cs: ifdef out the Sys.Config part for the
55 Merged from the Moonlight 2 branch.
57 Wed Mar 12 20:06:07 CET 2008 Paolo Molaro <lupus@ximian.com>
59 * Socket.cs: add a static ctor so that ipv4Supported and ipv6Supported
60 are initialized (they are used by the runtime).
62 2008-02-01 Dick Porter <dick@ximian.com>
64 * TcpClient.cs: If the Connect fails (when given an array of
65 addresses) leave the socket object in a usable state. Fixes bug
68 2007-11-13 Atsushi Enomoto <atsushi@ximian.com>
70 * NetworkStream.cs : in 2.0 Close() is not needed and does not exist.
72 2007-11-01 Miguel de Icaza <miguel@novell.com>
74 * Socket.cs: Do not set the Send and Receive buffer sizes for the
75 socket to the defaults set on Windows, they kill our performance.
77 Thanks to Zoltan Varga for tracking the performance issue down.
80 2007-10-30 Dick Porter <dick@ximian.com>
82 * UdpClient.cs: Don't set the multicast option twice. Fixes bug
85 2007-10-21 Robert Jordan <robertj@gmx.net>
87 * Socket.cs: Remove GetHashCode override from the NET_2_0
88 profile. Add LAMESPEC comment. Fixes bug #325113.
90 2007-09-22 Gert Driesen <drieseng@users.sourceforge.net>
92 * Socket.cs: Removed unused method.
94 2007-08-02 Dick Porter <dick@ximian.com>
96 * Socket.cs: Patch from Brian Nickel (brian.nickel@gmail.com) to
97 improve EndPoint handling.
99 2007-07-08 Gert Driesen <drieseng@users.sourceforge.net>
101 * Socket.cs: Code formatting. Marked not implemented methods as TODO.
102 Removed extra spaces.
104 2007-07-04 Dick Porter <dick@ximian.com>
106 * Socket.cs: Don't set DontFragment by default for IPv6 sockets.
109 2007-05-16 Adar Wesley <adarw@mainsoft.com>
111 * Socket.jvm.cs: added missing methods EndDisconnect, IOControl,
112 Send 2.0 overloads, Receive 2.0 overloads, ReceiveMessageFrom,
113 BeginReceiveMessageFrom, EndReceiveMessageFrom,
114 EndAccept 2.0 overloads, BeginSend, EndSend, BeginReceive,
115 EndReceive, SendFile, BeginSendFile, EndSendFile, Disconnect,
118 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
120 * Socket.jvm.cs: Handle property throws NotImplementedException.
122 2007-05-09 Igor Zelmanovich <igorz@mainsoft.com>
128 added MonoNotSupported attribute for TARGATE_JVM.
130 2007-03-11 Gert Driesen <drieseng@users.sourceforge.net>
132 * TcpClient.cs: Do not initialize network stream in Connect. In
133 Dispose, only nullify client if network stream was not obtained.
136 2007-01-30 Ilya Kharmatsky <ilyak -at- mainsoft.com>
138 * Socket.jvm.cs: additional stubs for net_2_0 properties,
139 bug fixes (EnsureStillUsable method inserted)
141 2007-01-28 Ilya Kharmatsky <ilyak -at- mainsoft.com>
143 * Socket.jvm.cs: added stubs for net_2_0 properties and methods.
145 2007-01-26 Dick Porter <dick@ximian.com>
147 * Socket.cs: SupportsIPv6 is obsolete in the 2.0 profile. Stub
148 out BeginReceiveMessageFrom(), BeginSendFile(),
149 EndReceiveMessageFrom(), EndSendFile(), ReceiveMessageFrom(), and
152 * IPPacketInformation.cs: New in the 2.0 profile
154 * SocketFlags.cs: Remove useless (and empty) inline documentation,
157 * TcpListener.cs: Mark Server as public in the 2.0 profile.
159 * UdpClient.cs: Mark Dispose(bool) as protected in the 2.0
162 System.Net.Sockets should now be 2.0-complete.
164 2007-01-26 Dick Porter <dick@ximian.com>
166 * Socket.cs: There's no point checking the SO_ERROR status of a
167 socket after poll() or select() if we already know that connected
170 2007-01-24 Dick Porter <dick@ximian.com>
173 * SocketInformationOptions.cs:
174 * TransmitFileOptions.cs: Fix enum values
176 * AddressFamily.cs: Not Serializable in the 2.0 profile
178 2007-01-24 Dick Porter <dick@ximian.com>
180 * NetworkStream.cs: 2.0 profile updates, based on a patch by
181 Sridhar Kulkarni (sridharkulkarni@gmail.com)
183 2007-01-23 Dick Porter <dick@ximian.com>
186 * TcpClient.cs: 2.0 profile updates, based on a patch by Sridhar
187 Kulkarni (sridharkulkarni@gmail.com)
189 2007-01-22 Miguel de Icaza <miguel@novell.com>
191 * Socket.cs: Move the throw new NotImplementedException ()
192 elsewhere to prevent Moma reports.
194 2007-01-20 Dick Porter <dick@ximian.com>
196 * Socket.cs(SocketDefaults): Catch and ignore any SocketExceptions
197 thrown from setting default socket options - some platforms might
198 not support a particular default we're trying to set.
200 2007-01-11 Dick Porter <dick@ximian.com>
203 * SocketInformation.cs:
205 * UdpClient.cs: 2.0 profile updates, loosely based on a patch by
208 * SocketInformationOptions.cs:
209 * TransmitFileOptions.cs: Implemented by Sridhar Kulkarni
210 (sridharkulkarni@gmail.com)
212 Wed Dec 13 12:04:02 CET 2006 Paolo Molaro <lupus@ximian.com>
214 * Socket.cs: stub ReceiveBufferSize and SendBufferSize to
215 get ironpython to compile.
217 2006-11-23 Dick Porter <dick@ximian.com>
219 * Socket.cs: Only set Connected = true in Poll() and Select() if
220 the socket error status is 0. Fixes bug 79878.
222 2006-09-28 Andrew Skiba <andrews@mainsoft.com>
224 * Socket.cs,NetworkStream.cs,SocketException.cs: TARGET_JVM
226 2006-09-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
228 * Socket.cs: update the SocketOperation enum.
230 2006-08-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
232 * Socket.cs: replace hardcoded error numbers with the SocketError
233 values. When ReceiveTimeout is set on a blocking socket, correctly
234 report timeouts in the generated exception.
236 * SocketException.cs: add new internal ctor (int, string).
238 2006-08-12 Miguel de Icaza <miguel@novell.com>
240 * Socket.cs (NoDelay): Implement.
242 2006-06-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
244 * Socket.cs: patch from Sanghyeon Seo that implements
245 (Send|Receive)Timeout for 2.0.
246 * MulticastOption.cs: more 2.0 stuff.
248 2006-06-28 Atsushi Enomoto <atsushi@ximian.com>
250 * Socket.cs : use ConfigurationManager.GetSection() under NET_2_0.
251 Also make sure to avoid NRE.
253 2006-06-24 Zoltan Varga <vargaz@gmail.com>
255 * Socket.cs: Add stubs for net 2.0 SendTimeout and ReceiveTimeout properties.
257 2006-06-20 Zoltan Varga <vargaz@gmail.com>
259 * ProtocolType.cs SocketOptionName.cs: Add missing net 2.0 fields.
261 2006-05-30 Gert Driesen <drieseng@users.sourceforge.net>
263 * NetworkStream.cs: Marked Dispose (bool) virtual on 1.x profile.
265 2006-04-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
268 * SocketError.cs: implemented Reseive/Send overloads that do not throw
269 in case of error. Patch by Tomi Valkeinen.
271 2006-03-11 Miguel de Icaza <miguel@novell.com>
273 * NetworkStream.cs (Dispose): Use the right signature depending on
274 the profile being built.
276 2006-03-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
278 * Socket.cs: pass something not empty to the unixep ctor.
280 2006-03-03 Dick Porter <dick@ximian.com>
282 * UdpClient.cs: Fix IPv6 family check. Fixes bug 77689.
284 2006-02-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
286 * TcpClient.cs: when the socket is not connected, don't try to set the
287 socket options, as they are ignored on linux. Wait until Connect
288 succeeds and then apply the options.
290 2006-02-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
292 * Socket.cs: added a missing overload for SetSocketOption.
294 2006-01-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
296 * Socket.cs: use the 2.0 configuration classes when checking for IPv6
299 2006-01-04 Sebastien Pouliot <sebastien@ximian.com>
301 * TcpClient.cs: The Client property is public in 2.0 while it was
302 protected in earlier release. Fix bug #77048.
304 2005-12-07 Robert Jordan <robertj@gmx.net>
306 * SocketError.cs: Added.
307 * SocketException: Implemented SocketErrorCode. Fixes bug #76915.
309 2005-10-11 Dick Porter <dick@ximian.com>
311 * Socket.cs: Don't call connect(2) twice for non-blocking sockets,
312 it breaks on macos (and probably other bsd-based stacks too,) use
313 poll() and getsockopt() to check if it worked.
315 2005-09-27 Gonzalo Paniagua Javier <gonzalo@ximian.com>
317 * Socket.cs: add checks for 'disposed' all over. Fixes bug #76249.
319 2005-06-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
321 * TcpClient.cs: patch by Hans Kratz that uses an integer when setting
322 NoDelay instead of a bool, which is only handled in 2.0.
324 2005-06-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
326 * Socket.cs: disallow connecting to .Any addresses. Fixes bug #75154.
328 2005-06-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
330 * Socket.cs: adapted Select to the new Select_internal that uses poll()
331 instead of select(). Managed part of the fix for bug #71203.
333 2005-05-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
335 * Socket.cs: apply the same hack on blocking Connect calls as the one
338 2005-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
340 * Socket.cs: see bug #74842, which is fixed with this patch for details
341 and test cases on the blocking behavior of accept() when close() is
342 called from another thread. The solution applied is to Abort the thread
343 that is blocking in Accept_internal() when someone calls Close (), then
344 reset the abort state if the socket is disposed and return the same
345 error as MS (10004 - interrupted).
347 2005-05-06 Gonzalo Paniagua Javier <gonzalo@ximian.com>
349 * Socket.cs: match MS behavior on SetSocketOption with a boolean
350 argument. MS 1.1 throws an ArgumentException, but 2.0 turns true/false
351 into 1/0 and works fine. Fixes bug #71753. Added checks for disposed
352 in the 3 SetSocketOption.
354 2005-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
356 * Socket.cs: if there are outstanding aio requests and one of them gets
357 an ObjectDisposedException, throw the same exception for the rest.
359 2005-05-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
361 * Socket.cs: removed hack added to fix bug #53229 (more than a year ago)
362 that kept sockets opened until all AIO operations where finished. If
363 the socket is closed, Receive returns 0 in EndReceive, the rest throw
364 the ObjectDisposedException. Set the socket handle to -1 when closing.
366 2005-04-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
368 * Socket.cs: Begin/End Send/SendTo guarantee that all bytes are written
369 or an exception is thrown. Fixes bug #74475.
371 2005-04-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
373 * Socket.cs: no need for locking in Worker. The actual read / write for
374 Receive / Send is performed in the runtime time.
376 2005-04-15 Gonzalo Paniagua Javier <gonzalo@ximian.com>
378 * Socket.cs: added a 'blocking' field that is passed to the runtime.
380 2005-04-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
382 * Socket.cs: invoke the callback after scheduling the next request for
383 the socket. Fixes bug #74539.
385 2005-04-08 Gonzalo Paniagua Javier <gonzalo@ximian.com>
387 * Socket.cs: update socket connected status in an async request finishes
388 synchronously. Use 'callback' instead of 'real_callback' field, which is
391 2005-04-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
393 * Socket.cs: added SocketOperation enum and 2 new fields to
394 SocketAsyncResult that are used by the runtime. Asynchronous read/write
395 are serialized so that only 1 of each kind is really 'active'.
396 Handle non-blocking connects in BeginConnect instead of doing 2 Poll()
399 * NetworkStream.cs: better message for the exception.
401 2005-04-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
403 * Socket.cs: remove unused async IO code.
405 2005-03-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
407 * Socket.cs: don't Poll/block in Connect aither.
409 2005-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
411 * Socket.cs: don't block on Accept if the socket is non-blocking.
412 Fixes bug #73053. Patch by Ankit Jain.
414 2005-02-23 Dick Porter <dick@ximian.com>
416 * UdpClient.cs: Set the Broadcast option, as apparently the MS
417 runtime defaults make UDP sockets broadcastable.
419 2004-12-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
421 * Socket.cs: for Receive*/Send*, don't set the connected status to false
422 when the error is EINPROGRESS or EWOULDBLOCK.
424 2004-12-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
426 * NetworkStream.cs: Write should ensure that writes all the contents
427 of the buffer. Fixes bug #70123. Besos para Miguelito.
429 2004-10-14 Dick Porter <dick@ximian.com>
431 * Socket.cs (Sockets ): Set Accept()ed socket blocking status to
432 be the same as the listening socket. This follows MS behaviour.
434 2004-08-04 Dick Porter <dick@ximian.com>
436 * Socket.cs: Update Connected state in Select and Poll; this is
437 when we find out that non-blocking Connects succeed. Fixes bug
440 2004-07-28 Dick Porter <dick@ximian.com>
442 * Socket.cs: ReceiveFrom might not return a valid EndPoint. Patch
443 by Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61608.
445 2004-07-15 Dick Porter <dick@ximian.com>
447 * Socket.cs: Don't try and dereference a null array in Select()
448 (possible if a descriptor list of length 0 was passed.) Patch by
449 Nick Vaughan (dev@6wardlaw.freeserve.co.uk), fixes bug 61595.
451 2004-07-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
453 * Socket.cs: if'ed RemoveReferences calls.
455 2004-07-09 Dick Porter <dick@ximian.com>
457 * Socket.cs: Slight tweak to allow unknown objects to be returned
458 by GetSocketOption().
460 2004-06-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
462 * Socket.cs: connect on non-blocking sockets returns EINPROGRESS. Fixes
465 2004-06-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
467 * Socket.cs: wrong error code in connect and accept. EWOULDBLOCK is
468 10035. Fixes bug #60563.
470 2004-06-20 Gonzalo Paniagua Javier <gonzalo@ximian.com>
472 * Socket.cs: fixed Accept for non-blocking sockets.
474 2004-06-10 Gert Driesen <drieseng@users.sourceforge.net>
476 * LingerOption.cs: marked field private to fix API signature
477 * MulticastOption.cs: marked field private to fix API signature
479 2004-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
481 * Socket.cs: throw ArgumentNullException if all the list are null OR
482 empty. Fixes bug #59632.
484 2004-05-21 Patrik Torstensson <totte@hiddenpeaks.com>
486 * TcpListener.cs: Fixes a lot of the problems with remoting nunit tests.
488 (AcceptTcpClient): Don't create TcpClient before a
489 connection is accepted.
491 (LocalEndPoint): Use Server LocalEndPoint if connected
492 otherwise use endpoint from ctor.
494 (Init): Save end point, not server endpoint. This did
495 cause TcpListener to ignore port sent via constructor.
497 (Pending): Fixed wait time (method should return directly)
499 (Start): Moved Bind here instead of Init method; old method
500 caused us to bind ports even if the listener was stopped.
502 (Stop): Null server when stopping
504 2004-05-13 Dick Porter <dick@ximian.com>
507 * TcpClient.cs: Public API fixes
509 2004-05-07 Gonzalo Paniagua Javier <gonzalo@ximian.com>
511 * Socket.cs: fixed Connect for non-blocking sockets. Closes bug #58169.
513 2004-05-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
515 * Socket.cs: fix for BeginConnect and non-blocking sockets.
517 2004-05-03 Lluis Sanchez Gual <lluis@ximian.com>
519 * Socket.cs: Use assembly name const to load Mono.Posix.
521 2004-05-01 Gonzalo Paniagua Javier <gonzalo@ximian.com>
523 * Socket.cs: only enable socket AIO if MONO_ENABLE_SOCKET_AIO is there.
524 I will remove this once THE bug is hunted.
526 2004-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
528 * Socket.cs: added support for unmanaged asynchronous IO. Speed up
530 * UdpClient.cs: fixed Dispose so that it only closes the socket when
533 2004-04-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
535 * Socket.cs: added GetSupportsAsync and Poll_internal internal calls.
536 Cleaned up Worker class: moved fields to SocketAsyncResult and use Poll
537 when the socket is non-blocking before getting EWOULDBLOCK error.
539 2004-04-08 Dick Porter <dick@ximian.com>
541 * Socket.cs: Rearrange the internal calls so that the exceptions
542 are thrown from managed code
544 2004-03-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
546 * Socket.cs: when Dispose (bool) is called from the finalizer, always
547 do the cleanup. Fixes yet another nullref with xsp.
549 2004-02-19 Gonzalo Paniagua Javier <gonzalo@ximian.com>
551 * Socket.cs: implemented IOControl.
553 2004-02-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
555 * Socket.cs: use the threadpool for asynchronous calls instead of
556 creating new threads.
558 2004-02-12 Gonzalo Paniagua Javier <gonzalo@ximian.com>
560 * Socket.cs: added locks around waithandle assign and comparison in
561 class Worker. Handle other exceptions than SocketException for
562 non-blocking sockets.
564 2004-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
566 * Socket.cs: handle WSAEWOULDBLOCK for non-blocking sockets. Fixes
567 bug #53168. Avoid the creation of the ManualResetEvent in class Worker
570 2004-01-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
572 * Socket.cs: if we have a pending async event, delay socket closing
573 until EndX is called. Fixes bug #53229. Check parameters and if the
574 socket has been disposed. Implemented IDisposable explicitly. The
575 threads created have IsBackground = true now.
577 2004-01-10 Gonzalo Paniagua Javier <gonzalo@ximian.com>
579 * Socket.cs: patch from Brad Fitzpatrick <brad@danga.com> episode 2.
581 2003-12-30 Gonzalo Paniagua Javier <gonzalo@ximian.com>
583 * Socket.cs: fix for several asynchronous methods to delay exception
584 throwing. Patch by Brad Fitzpatrick <brad@danga.com>.
586 2003-12-18 Gonzalo Paniagua Javier <gonzalo@ximian.com>
588 * TcpListener.cs: get the LocalEndPoint from the socket after binding.
591 2003-10-20 Miguel de Icaza <miguel@ximian.com>
593 * TcpClient.cs: Fix void Dispose (bool disposing) to follow the
594 pattern. It was shutting down the managed resources even in the
595 finalizer case, it should only do that when called from
598 2003-09-11 Lluis Sanchez Gual <lluis@ximian.com>
600 * NetworkStream.cs: Added [In,Out] attributes to Read method.
602 2003-08-24 Gonzalo Paniagua Javier <gonzalo@ximian.com>
604 * TcpListener.cs: various fixes to make the new tests pass. Closes
607 2003-08-10 Miguel de Icaza <miguel@ximian.com>
609 * UdpClient.cs (Receive): Fix Bug 45633; We should do a blocking
610 call until a datagram is arrives from the remote host. This
611 removes the 512 "magic" buffer size when we did not have any data.
613 2003-07-31 Gonzalo Paniagua Javier <gonzalo@ximian.com>
616 * Socket.cs: fixed array boundary checks. 0 sized arrays are allowed.
618 2003-07-18 Andreas Nahr <ClassDevelopment@A-SoftTech.com>
620 * Socket.cs: Added GetHashCode method
622 2003-07-14 Jerome Laban <jlaban@wanadoo.fr>
626 * SocketOptionLevel.cs:
633 * IPv6MulticastOption.cs: Added for IPv6 support.
635 2003-05-16 Dick Porter <dick@ximian.com>
637 * Socket.cs: Use Mono.Posix.UnixEndPoint if its available
639 2003-05-11 Gonzalo Paniagua Javier <gonzalo@ximian.com>
641 * MulticastOption.cs: patch by Jerome Laban included in bug #42393.
643 2003-05-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
646 (Select): don't create arrays if not needed.
647 (Poll): call Select_internal directly.
649 Warning: you need an up to date runtime for this to work!
651 2003-03-25 Gonzalo Paniagua Javier <gonzalo@ximian.com>
653 * UdpClient.cs: don't bind the socket unless .ctor (IPEndPoint) is used.
654 Added more checks and throws.
655 Small fixes in Send to avoid duplicating the buffer.
656 Moved CheckIfDisposed calls to the start of the methods instead of doing
657 the check inside a finally clause.
659 2003-03-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
662 (SendTo): fix from Jerome Laban <jlaban@wanadoo.fr>.
664 2003-02-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
666 * Socket.cs: patch from Elan Feingold <efeingold@mn.rr.com>. Fixes
667 NullReferenceException when the callback is null.
669 2003-02-17 Gonzalo Paniagua Javier <gonzalo@ximian.com>
671 * NetworkStream.cs: allow 0 size array in Write.
673 2003-02-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
675 * Socket.cs: make Worker.Connect and Receive work with non-blocking
676 sockets. May be Receive* and Send* in Worker need to do the same. I'll
677 wait for bug reports. Set IsCompleted to true before invoking the end
678 callback. Fixes bug #38136.
680 2003-01-23 Gonzalo Paniagua Javier <gonzalo@ximian.com>
682 * NetworkStream.cs: the check for disposed should not be done in the
685 2003-01-04 Gonzalo Paniagua Javier <gonzalo@ximian.com>
687 * UdpClient.cs: fixed bug #36226.
689 2002-11-13 Dick Porter <dick@ximian.com>
691 * Socket.cs: Only close the socket in one place, ie the Dispose
692 method. Fixes bug 32054.
694 2002-11-09 Gonzalo Paniagua Javier <gonzalo@ximian.com>
696 * Socket.cs: offset == size == 0 it's ok in Send ().
698 2002-11-03 Phillip Pearson <pp@myelin.co.nz>
700 * TcpClient.cs: Fixed SetTcpClient() to pass through to the Client
701 property, which now sets stream to null (it's set by GetStream()). This
702 should make GetStream() work on a TcpClient which has had the socket set
703 by assignment to the Client property, not only one that has been created
704 by TcpListener.AcceptTcpClient().
706 2002-10-08 Dick Porter <dick@ximian.com>
709 * NetworkStream.cs: Bounds checking fixes, and better exception
710 texts. Changes by timothyjmills@hotmail.com (Timothy J. Mills).
712 2002-10-03 Dick Porter <dick@ximian.com>
714 * TcpClient.cs: NoDelay is a TCP option, not Socket
716 2002-09-16 Miguel de Icaza <miguel@ximian.com>
718 * SocketFlags.cs: Add missing enumeration.
720 * UdpClient.cs: Make Dispose private.
722 2002-08-20 Dick Porter <dick@ximian.com>
724 * Socket.cs: Fix deadlock when the AsyncResult callback calls
725 End*(). Set the async request's worker property so it can return
726 results. These two fixes combined fix bug 28092.
728 2002-06-24 Dick Porter <dick@ximian.com>
730 * Socket.cs: Make SetSocketOption cope with boolean values (they
731 are passed as objects, not the ints the runtime was expecting)
733 2002-05-17 Lawrence Pit <loz@cable.a2000.nl>
734 * TcpListener.cs: Renamed LocalEndPoint to LocalEndpoint
735 * NetworkStream.cs, UdpClient.cs and TcpClient.cs: modified disposable
736 routines, added checks for disposed state.
737 * UdpClient.cs: commented out GetHashCode and Equals as it's not
738 overriden in ms.net implementation.
740 2002-05-17 Jaroslaw Kowalski <jarek@atm.com.pl>
741 * TcpClient.cs: fixed SetTcpClient so that
742 TcpListener.AcceptTcpClient works and allows
743 you to call GetStream() on its result
745 2002-04-24 Dick Porter <dick@ximian.com>
747 * Socket.cs (Poll): Give correct argument to Select(), as spotted
748 by Jaroslaw Kowalski <jarek@atm.com.pl>
750 2002-04-16 Gonzalo Paniagua Javier <gonzalo@ximian.com>
752 * UdpClient.cs: implemented.
754 2002-04-02 Dick Porter <dick@ximian.com>
756 * TcpListener.cs: in Start(), set the socket listen backlog value
757 to a sane value (noticed by Jonathan Stowe <gellyfish@gellyfish.com>)
759 2002-02-13 Dick Porter <dick@ximian.com>
761 * Socket.cs: Implemenent Select, Blocking, Connected,
762 GetSocketOption, Poll, SetSocketOption and Shutdown
764 * MulticastOption.cs:
765 * LingerOption.cs: Delete override methods that don't need to be
768 2002-01-23 Miguel de Icaza <miguel@ximian.com>
770 * NetworkStream.cs: Implement class.
772 2002-01-23 Dick Porter <dick@ximian.com>
774 * SocketException.cs: Implemented
776 * Socket.cs: Implemented most methods
778 * LingerOption.cs: Made compile
780 * AddressFamily.cs: Removed empty auto-generated comments
782 2002-01-17 Miguel de Icaza <miguel@ximian.com>
784 * SocketException.cs: Reimplemented.
786 2002-01-06 Ravi Pratap <ravi@ximian.com>
788 * ChangeLog : Add to this directory.
790 * SocketException.cs, TcpClient.cs, TcpListener.cs : MonoTODO
791 attribute decoration.