Home/Support/Support Forum/calling tcp_tick(NULL) vs tcp_tick(&socket)
New and improved user forum site going live on 12/6 (All users will need to reset their password when the new forum is active)
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

calling tcp_tick(NULL) vs tcp_tick(&socket)

0 votes
My application has multiple opened sockets. Should I call tcp_tick(&socket_n) for each of them or can I just use tcp_tick(NULL) periodically?

Thank you,
asked May 24, 2016 in Rabbit by phungd New to the Community (3 points)

Please log in or register to answer this question.

2 Answers

0 votes
My preference is to call tcp_tick(NULL) unless there is a particular reason to give priority to a socket or sockets.

In our data loggers we use uCosII and have a separate task just for the tcp_tick() code so that we don't have to pepper the code with calls to tcp_tick(). This works quite well and you can tune the network performance by adjusting the task priority and also calling tcp_tick() more than once each time the task runs.

answered May 25, 2016 by petermcs Veteran of the Digi Community (1,132 points)
0 votes
At least in Dynamic C 10, processing is identical regardless of what you pass. Whenever you call tcp_tick(), it processes received packets and manages all sockets. If you've passed a non-NULL value, tcp_tick() will return the result of calling sock_alive() for the socket you pass in.

If you're ignoring the return value of tcp_tick(), there isn't any reason to pass a non-NULL value.
answered May 25, 2016 by TomCollins Veteran of the Digi Community (2,382 points)