Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2612 → Rev 2611

/kernel/branches/net/network/tcp_input.inc
595,8 → 595,6
mov [ebx + TCP_SOCKET.t_state], TCPS_ESTABLISHED
 
;;; TODO: check if we should scale the connection (567-572)
mov [ebx + TCP_SOCKET.SND_SCALE], 0
 
;;; TODO: update RTT estimators
 
jmp .trim_then_step6
1251,8 → 1249,25
 
.update_window:
 
;;; TODO: Keep track of pure window updates
DEBUGF 1,"Updating window\n"
 
; Keep track of pure window updates
 
; test ecx, ecx
; jz @f
;
; mov eax, [ebx + TCP_SOCKET.SND_WL2]
; cmp eax, [edx + TCP_header.AckNumber]
; jne @f
;
; ;; mov eax, tiwin
; cmp eax, [ebx + TCP_SOCKET.SND_WND]
; jbe @f
;
; ;;; update stats
;
; @@:
 
mov eax, dword [edx + TCP_header.Window]
cmp eax, [ebx + TCP_SOCKET.max_sndwnd]
jbe @f
1260,8 → 1275,6
@@:
mov [ebx + TCP_SOCKET.SND_WND], eax
 
DEBUGF 1,"Updating window to %d\n", eax
 
push [edx + TCP_header.SequenceNumber]
pop [ebx + TCP_SOCKET.SND_WL1]
 
/kernel/branches/net/network/tcp_subr.inc
82,21 → 82,11
 
 
 
macro TCP_init_socket socket {
 
mov [socket + TCP_SOCKET.t_maxseg], TCP_mss_default
mov [socket + TCP_SOCKET.t_flags], 0 ; we could also request scale and timestamp
 
mov [socket + TCP_SOCKET.t_srtt], TCP_time_srtt_default
mov [socket + TCP_SOCKET.t_rttvar], TCP_time_rtt_default * 4
mov [socket + TCP_SOCKET.t_rttmin], TCP_time_re_min
;;; TODO: TCP_time_rangeset
 
mov [socket + TCP_SOCKET.SND_CWND], TCP_max_win shl TCP_max_winshift
mov [socket + TCP_SOCKET.SND_SSTHRESH], TCP_max_win shl TCP_max_winshift
 
 
}
 
 
;---------------------------
/kernel/branches/net/network/socket.inc
324,7 → 324,7
mov [eax + SOCKET.snd_proc], SOCKET_send_tcp
mov [eax + SOCKET.rcv_proc], SOCKET_receive_tcp
 
TCP_init_socket eax
mov [eax + TCP_SOCKET.t_maxseg], 1480 ;;;;; FIXME
ret
 
 
498,13 → 498,11
 
mov [eax + TCP_SOCKET.timer_persist], 0
mov [eax + TCP_SOCKET.t_state], TCPS_SYN_SENT
 
push [TCP_sequence_num]
add [TCP_sequence_num], 6400
pop [eax + TCP_SOCKET.ISS]
mov [eax + TCP_SOCKET.timer_keepalive], TCP_time_keep_init
 
 
TCP_sendseqinit eax
 
; mov [ebx + TCP_SOCKET.timer_retransmission], ;; todo: create macro to set retransmission timer
/kernel/branches/net/network/tcp_output.inc
100,7 → 100,6
@@:
sub esi, ebx
 
 
;------------------------
; check for window shrink (107)
 
107,7 → 106,7
; If FIN has been set, but not ACKed, but we havent been called to retransmit, esi will be -1
; Otherwise, window shrank after we sent into it.
 
jae .not_persist
jns .not_negative
 
; enter persist state
xor esi, esi
127,7 → 126,7
 
; If window didn't close completely, just wait for an ACK
 
.not_persist:
.not_negative:
 
;---------------------------
; Send one segment at a time (124)
292,7 → 291,7
 
.send:
 
DEBUGF 1,"Preparing to send a segment socket: %x length: %u flags: %x\n", eax, esi, dl
DEBUGF 1,"Preparing to send a segment\n"
 
mov edi, sizeof.TCP_header ; edi will contain headersize
 
/kernel/branches/net/network/tcp.inc
66,7 → 66,6
TCP_time_keep_idle equ 4608 ; idle time before 1st probe (2h)
TCP_time_keep_interval equ 118 ; between probes when no response (75,52s)
TCP_time_rtt_default equ 5 ; default Round Trip Time (3,2s)
TCP_time_srtt_default equ 0 ;
 
; timer constants
TCP_max_rxtshift equ 12 ; max retransmissions waiting for ACK
78,8 → 77,6
 
TCP_re_xmit_thresh equ 3
 
TCP_mss_default equ 1480 ; default max segment size
 
struct TCP_header
 
SourcePort dw ?