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 |