Networking Forums  

Go Back   Networking Forums > Networking Newsgroups > Linux Networking

TCP non-blocking multitreads priority pre-emption?

Reply
 
Thread Tools Display Modes
  #1  
Old 09-28-2007, 06:18 PM
Default TCP non-blocking multitreads priority pre-emption?



Hi,

I am designing an application with two threads running with different
priority. Each thread uses the same TCP address and port to send
information out (i know i can easily change to have different port,
but i just wanted to know what would happen if they use the same
port).

My question is what data would the TCP send buffer contains if one
thread is running non-blocking send operation while another thread
with higher priority happens to preempt the previous thread to another
non-blocking do send operation.

For example,

Thread A has 10000 bytes to send. It is supposed to put 10000 bytes to
the send buffer, but the window size is smaller than that, say it is
8192 bytes. So only 8192 bytes of 102400 bytes data is copied to the
send buffer and do the send operation for thread A.

While thread A is sending the 5000th bytes, thread B preempts it and
trys to send 4000 bytes of data. remember both thread A and thread B
are sharing the same connection with same address and port.

Would the send buffer look like 5000 bytes from A + 4000 bytes from B
+ 5000 bytes from A?

Remember both send operations are running on non-blocking mode. What
if both send operations are running on blocking mode?

Thanks
Ray



Ray
Reply With Quote
Reply

Tags
multitreads, nonblocking, preemption, priority, tcp

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 11:27 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.