Subversion Repositories Kolibri OS

Rev

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

Rev 4365 Rev 4366
Line 169... Line 169...
169
;        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 170... Line 197...
170
 
197
        push    eax
171
 
198
        call    TCP_output
172
 
199
        pop     eax
173
 
200
  @@:
174
 
201
 
175
 
202
        ret
176
 
203
 
177
 
204
 
178
;-------------------------
205
;-------------------------
179
;
206
;
Line 190... Line 217...
190
 
217
 
191
;;; TODO: update RTT and mean deviation
218
;;; TODO: update RTT and mean deviation
Line 192... Line 219...
192
;;; TODO: update slow start threshold
219
;;; TODO: update slow start threshold
193
 
220
 
-
 
221
        call    SOCKET_is_disconnected
-
 
222
        call    SOCKET_free
Line 194... Line 223...
194
        call    SOCKET_is_disconnected
223