Subversion Repositories Kolibri OS

Rev

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

Rev 3626 Rev 5201
Line 12... Line 12...
12
;;          GNU GENERAL PUBLIC LICENSE                             ;;
12
;;          GNU GENERAL PUBLIC LICENSE                             ;;
13
;;             Version 2, June 1991                                ;;
13
;;             Version 2, June 1991                                ;;
14
;;                                                                 ;;
14
;;                                                                 ;;
15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 16... Line 16...
16
 
16
 
Line 17... Line 17...
17
$Revision: 3143 $
17
$Revision: 5013 $
18
 
18
 
19
timer_flag_retransmission       = 1 shl 0
19
timer_flag_retransmission       = 1 shl 0
20
timer_flag_keepalive            = 1 shl 1
20
timer_flag_keepalive            = 1 shl 1
Line 59... Line 59...
59
  .exit:
59
  .exit:
Line 60... Line 60...
60
 
60
 
Line 61... Line -...
61
}
-
 
62
 
61
}
63
 
-
 
64
;----------------------
62
 
Line 65... Line 63...
65
; 640 ms timer
63
 
-
 
64
align 4
-
 
65
proc TCP_timer_640ms            ; TODO: implement timed wait timer!
-
 
66
 
-
 
67
        xor     esi, esi
66
;----------------------
68
        mov     ecx, MANUAL_DESTROY
-
 
69
        call    create_event
-
 
70
        mov     [TCP_timer1_event], eax
-
 
71
 
Line 67... Line 72...
67
macro   TCP_timer_640ms {                       ; TODO: implement timed wait timer!
72
  .wait:
Line 68... Line 73...
68
 
73
        mov     eax, [TCP_timer1_event]
Line 79... Line 84...
79
        mov     eax, net_sockets
84
        mov     eax, net_sockets
80
  .loop:
85
  .loop:
81
        mov     eax, [eax + SOCKET.NextPtr]
86
        mov     eax, [eax + SOCKET.NextPtr]
82
  .check_only:
87
  .check_only:
83
        or      eax, eax
88
        or      eax, eax
84
        jz      .exit
89
        jz      .wait
Line 85... Line 90...
85
 
90
 
86
        cmp     [eax + SOCKET.Domain], AF_INET4
91
        cmp     [eax + SOCKET.Domain], AF_INET4
Line 87... Line 92...
87
        jne     .loop
92
        jne     .loop
Line 155... Line 160...
155
        call    TCP_output
160
        call    TCP_output
156
        pop     eax
161
        pop     eax
157
        mov     [eax + TCP_SOCKET.t_force], 0
162
        mov     [eax + TCP_SOCKET.t_force], 0
Line 158... Line 163...
158
 
163
 
159
        jmp     .loop
-
 
Line 160... Line 164...
160
  .exit:
164
        jmp     .loop
Line 161... Line 165...
161
 
165