aboutsummaryrefslogtreecommitdiff
path: root/pipermail/nel/2001-February/000263.html
blob: 863c481048acde87db7fb9475ca082683e910760 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
 <HEAD>
   <TITLE> [Nel] NeL Network Engine</TITLE>
   <LINK REL="Index" HREF="index.html" >
   <LINK REL="made" HREF="mailto:cblt%40cblt.org">
   <LINK REL="Previous"  HREF="000308.html">
   <LINK REL="Next" HREF="000260.html">
 </HEAD>
 <BODY BGCOLOR="#ffffff">
   <H1>[Nel] NeL Network Engine</H1>
    <B>Nicolas Hognon</B> 
    <A HREF="mailto:cblt%40cblt.org"
       TITLE="[Nel] NeL Network Engine">cblt@cblt.org</A><BR>
    <I>Thu, 22 Feb 2001 23:12:39 +0100</I>
    <P><UL>
        <LI> Previous message: <A HREF="000308.html">[Nel] NeL Network Engine</A></li>
        <LI> Next message: <A HREF="000260.html">[Nel] Memory error</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#263">[ date ]</a>
              <a href="thread.html#263">[ thread ]</a>
              <a href="subject.html#263">[ subject ]</a>
              <a href="author.html#263">[ author ]</a>
         </LI>
       </UL>
    <HR>  
<!--beginarticle-->
<PRE>&gt;<i> (A) If no buffer space is available within the transport system to hold
</I>&gt;<i> the data to be transmitted, the actual sending will block. Has anybody
</I>&gt;<i> come across this case ? When does this happen in practice ?
</I>
i'm not sure that i understand this part of your mail and i hope you'll
understand my answer because i'm not sure my english enough fluent :))

you're asking want happened if you call send or write on a socket
and there is not enough space in the tcp stack / transport layer buffer.
it depends you've got blocking or non blocking socket.
if it's a blocking socket you're thread will be blocked
until you're data can be send by the tcp stack.
if you're socket is in non blocking mode send/write
will return you an error an errno will be EWOULDBLOCK
or WSAEWOULDBLOCK under winsock.

but i'm not sure it's the answer to your question
because it is not a very huge problem.
i make the same mistake because when you make
some little test it's more common that receive failed
with a wouldblock than send. when i began
writting our network api (for the company i work)
i made this mistake. but when i made
some test with huge network messages and a poor modem
i encounter tihs problem.

i hope this help you
but can you answer me that i know if i understand
your problem :))


-- 
Nicolas Hognon
home : <A HREF="mailto:cblt@cblt.org">cblt@cblt.org</A>         / www.cblt.org
work : <A HREF="mailto:nicolash@virtools.com">nicolash@virtools.com</A> / www.virtools.com
#ICQ : 36044443
    
Enjoy the silence
(DM)


</pre>



















<!--endarticle-->
    <HR>
    <P><UL>
        <!--threads-->
	<LI> Previous message: <A HREF="000308.html">[Nel] NeL Network Engine</A></li>
	<LI> Next message: <A HREF="000260.html">[Nel] Memory error</A></li>
         <LI> <B>Messages sorted by:</B> 
              <a href="date.html#263">[ date ]</a>
              <a href="thread.html#263">[ thread ]</a>
              <a href="subject.html#263">[ subject ]</a>
              <a href="author.html#263">[ author ]</a>
         </LI>
       </UL>
</body></html>