• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
UDP Flow Control
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

UDP Flow Control


  • Subject: UDP Flow Control
  • From: Dmitriy Skorodumov <email@hidden>
  • Date: Sat, 25 Jul 2009 23:22:09 +0400

Hi,

I'm trying to dig the way of UDP flow control is done on Mac OS (if it
is done)

afaik on Linux (so far my question is likely theoretical and doesn't
have concrete and detailed reference to code or exact names of
functions), UDP-socket have send-buffer and linux does some flow-control:

when no space available on buffer, linux returns EWOULDBLOCK for
socksend. Detection that buffer is sent is done by setting destructor
on skb: skb->destructor = sock_wfree. So when NIC has finished with skb,
destructor is called and it's space on buffer is cleared.

Obviously, for TCP there is no any problem - buffer-space clear is
done after receive of ACK.

But are there any possibilities to have some flow-control for
UDP? If application wants to send UDP-datagrams at maximum rate,
without acks from remote peer and wants to ensure that NIC will not
drop the packets (or memory won't bloated)?

Actually, UDP is not an issue, I just want to try to understand how it
is done in kernel..

Thank you in advance! This question is facinating me during the whole week,
but so far I have not found anything that satisfied me

Dmitry

 _______________________________________________
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

  • Prev by Date: Re: Telnet Networking Example
  • Next by Date: NSURLRequest WebDAV Upload Problem
  • Previous by thread: Re: Telnet Networking Example
  • Next by thread: NSURLRequest WebDAV Upload Problem
  • Index(es):
    • Date
    • Thread