Rev 3644 | Rev 3711 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3644 | Rev 3652 | ||
---|---|---|---|
Line 33... | Line 33... | ||
33 | push eax |
33 | push eax |
34 | lea ecx, [eax + SOCKET.mutex] |
34 | lea ecx, [eax + SOCKET.mutex] |
35 | call mutex_lock |
35 | call mutex_lock |
36 | pop eax |
36 | pop eax |
Line -... | Line 37... | ||
- | 37 | ||
- | 38 | DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_output: socket locked\n" |
|
37 | 39 | ||
38 | ; We'll detect the length of the data to be transmitted, and flags to be used |
40 | ; We'll detect the length of the data to be transmitted, and flags to be used |
39 | ; If there is some data, or any critical controls to send (SYN / RST), then transmit |
41 | ; If there is some data, or any critical controls to send (SYN / RST), then transmit |
Line 40... | Line 42... | ||
40 | ; Otherwise, investigate further |
42 | ; Otherwise, investigate further |
Line 214... | Line 216... | ||
214 | push ecx |
216 | push ecx |
215 | mov cl, [eax + TCP_SOCKET.RCV_SCALE] |
217 | mov cl, [eax + TCP_SOCKET.RCV_SCALE] |
216 | mov ebx, TCP_max_win |
218 | mov ebx, TCP_max_win |
217 | shl ebx, cl |
219 | shl ebx, cl |
218 | pop ecx |
220 | pop ecx |
- | 221 | ||
219 | cmp ebx, ecx |
222 | cmp ebx, ecx |
220 | jb @f |
223 | jb @f |
221 | mov ebx, ecx |
224 | mov ebx, ecx |
222 | @@: |
225 | @@: |
223 | sub ebx, [eax + TCP_SOCKET.RCV_ADV] |
226 | sub ebx, [eax + TCP_SOCKET.RCV_ADV] |
Line 569... | Line 572... | ||
569 | and [eax + TCP_SOCKET.t_flags], not (TF_ACKNOW + TF_DELACK) |
572 | and [eax + TCP_SOCKET.t_flags], not (TF_ACKNOW + TF_DELACK) |
Line 570... | Line 573... | ||
570 | 573 | ||
571 | ;-------------- |
574 | ;-------------- |
Line -... | Line 575... | ||
- | 575 | ; unlock socket |
|
- | 576 | ||
572 | ; unlock socket |
577 | DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_send: unlocking socket 0x%x\n", eax |
573 | 578 | ||
574 | push eax |
579 | push eax |
575 | lea ecx, [eax + SOCKET.mutex] |
580 | lea ecx, [eax + SOCKET.mutex] |
Line 605... | Line 610... | ||
605 | or eax, -1 |
610 | or eax, -1 |
606 | ret |
611 | ret |
Line 607... | Line 612... | ||
607 | 612 | ||
608 | 613 | ||
- | 614 | .send_error: |
|
Line 609... | Line 615... | ||
609 | .send_error: |
615 | add esp, 4 |
610 | add esp, 8 |
616 | pop eax |
Line 611... | Line 617... | ||
611 | 617 |