Subversion Repositories Kolibri OS

Rev

Rev 3908 | Rev 5201 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3908 Rev 4423
Line 150... Line 150...
150
        cmp     [eax + TCP_SOCKET.t_state], TCPS_SYN_RECEIVED
150
        cmp     [eax + TCP_SOCKET.t_state], TCPS_SYN_RECEIVED
151
        jb      .no_syn_received
151
        jb      .no_syn_received
Line 152... Line 152...
152
 
152
 
Line -... Line 153...
-
 
153
        mov     [eax + TCP_SOCKET.t_state], TCPS_CLOSED
153
        mov     [eax + TCP_SOCKET.t_state], TCPS_CLOSED
154
 
-
 
155
        push    eax
Line 154... Line 156...
154
 
156
        call    TCP_output
Line 155... Line 157...
155
        call    TCP_output
157
        pop     eax
Line 167... Line 169...
167
;        mov     [eax + SOCKET.errorcode], ebx
169
;        mov     [eax + SOCKET.errorcode], ebx
Line -... Line 170...
-
 
170
 
-
 
171
 
-
 
172
 
-
 
173
 
-
 
174
;-------------------------
-
 
175
;
-
 
176
; TCP_disconnect
-
 
177
;
-
 
178
;  IN:  eax = socket ptr
-
 
179
;  OUT: eax = socket ptr / 0
Line -... Line 180...
-
 
180
;
Line -... Line 181...
-
 
181
;-------------------------
-
 
182
align 4
-
 
183
TCP_disconnect:
-
 
184
 
-
 
185
        DEBUGF  DEBUG_NETWORK_VERBOSE, "TCP_disconnect: %x\n", eax
-
 
186
 
-
 
187
        cmp     [eax + TCP_SOCKET.t_state], TCPS_ESTABLISHED
-
 
188
        jb      TCP_close       ; Connection not yet synchronised, just get rid of the socket
-
 
189
 
-
 
190
; TODO: implement LINGER
-
 
191
 
-
 
192
        call    SOCKET_is_disconnecting
-
 
193
        call    TCP_usrclosed
-
 
194
 
-
 
195
        test    eax, eax
-
 
196
        jz      @f
Line 168... Line 197...
168
 
197
        push    eax
169
 
198
        call    TCP_output
170
 
199
        pop     eax
171
 
200
  @@:
172
 
201
 
173
 
202
        ret
174
 
203
 
175
 
204
 
176
;-------------------------
205
;-------------------------
177
;
206
;
Line 188... Line 217...
188
 
217
 
189
;;; TODO: update RTT and mean deviation
218
;;; TODO: update RTT and mean deviation
Line 190... Line 219...
190
;;; TODO: update slow start threshold
219
;;; TODO: update slow start threshold
191
 
220
 
-
 
221
        call    SOCKET_is_disconnected
-
 
222
        call    SOCKET_free
Line 192... Line 223...
192
        call    SOCKET_is_disconnected
223