Re: Five Reasons Why Synchronous Networking Is Bad
Re: Five Reasons Why Synchronous Networking Is Bad
- Subject: Re: Five Reasons Why Synchronous Networking Is Bad
- From: Peter Sichel <email@hidden>
- Date: Thu, 5 Mar 2009 10:42:30 -0500
Great write-up, thanks!
On Mar 5, 2009, at 7:32 AM, Quinn wrote:
o asynchronous -- For example, you can schedule an NSStream on a
runloop and have it call you when data arrives.
Of course scheduling a CFSocket on a runloop must also use a thread to
work around the current Sockets API, but this single shared thread is
carefully optimized and integrated with Mac OS X by a team of
specialists. Once these issues are abstracted out of developers
programs, the system software is free to improve the underlying
mechanism transparently.
So part of the argument here is that 3rd party developers should avoid
select() and similar mechanisms when possible since higher level
CFSocket based abstractions are more robust and efficient. The larger
implication is that a generation of network software developers who
grew up on UNIX BSD APIs (like me) will need to be coaxed into
rethinking their network programming abstractions.
- Peter
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Macnetworkprog mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden