Rev 4347 | Rev 4387 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4347 | Rev 4366 | ||
---|---|---|---|
Line 565... | Line 565... | ||
565 | .not_uni_xfer: |
565 | .not_uni_xfer: |
Line 566... | Line 566... | ||
566 | 566 | ||
Line 567... | Line 567... | ||
567 | DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_input: Header prediction failed\n" |
567 | DEBUGF DEBUG_NETWORK_VERBOSE, "TCP_input: Header prediction failed\n" |
568 | - | ||
569 | ; Calculate receive window size |
568 | |
570 | 569 | ; Calculate receive window size |
|
571 | push edx |
570 | push edx |
- | 571 | mov eax, SOCKET_MAXDATA |
|
572 | mov eax, SOCKETBUFFSIZE |
572 | sub eax, [ebx + STREAM_SOCKET.rcv.size] |
573 | sub eax, [ebx + STREAM_SOCKET.rcv.size] |
573 | DEBUGF DEBUG_NETWORK_VERBOSE, "Space in receive buffer=%d\n", eax |
- | 574 | mov edx, [ebx + TCP_SOCKET.RCV_ADV] |
|
574 | mov edx, [ebx + TCP_SOCKET.RCV_ADV] |
575 | sub edx, [ebx + TCP_SOCKET.RCV_NXT] |
575 | sub edx, [ebx + TCP_SOCKET.RCV_NXT] |
576 | DEBUGF DEBUG_NETWORK_VERBOSE, "Current advertised window=%d\n", edx |
576 | cmp eax, edx |
577 | cmp eax, edx |
577 | jg @f |
578 | jg @f |
578 | mov eax, edx |
579 | mov eax, edx |
Line 1187... | Line 1188... | ||
1187 | push ebx |
1188 | push ebx |
1188 | lea ecx, [ebx + SOCKET.mutex] |
1189 | lea ecx, [ebx + SOCKET.mutex] |
1189 | call mutex_unlock |
1190 | call mutex_unlock |
1190 | pop ebx |
1191 | pop ebx |
Line 1191... | Line -... | ||
1191 | - | ||
1192 | push ebx |
1192 | |
1193 | mov eax, ebx |
1193 | mov eax, ebx |
1194 | call TCP_disconnect |
- | |
1195 | pop ebx |
- | |
1196 | 1194 | call TCP_close |
|
Line 1197... | Line 1195... | ||
1197 | jmp .destroy_new_socket |
1195 | jmp .drop_no_socket |
1198 | 1196 | ||
1199 | .ack_tw: |
1197 | .ack_tw: |
1200 | mov [ebx + TCP_SOCKET.timer_timed_wait], 2 * TCP_time_MSL |
1198 | mov [ebx + TCP_SOCKET.timer_timed_wait], 2 * TCP_time_MSL |