I may help you with some points...
Callback programing is known today as "Assynchronous programing" as
oposed to "Sequencial programming". Using callbacks is indeed much
more complex, but it may be faster
For sequencial programming, I recomend using the socket interface. I
made a project using it a few years ago and it is just fine.
What I am not sure about is about multi-threading. I know that LWIP
runs well in a single thread (as I already used), but what I am
unsure about is if I can use different sockets on different threads
as long as each socket is used only by that thread...
Can anyone help on this?
About the "static" part, I didn't even understand the question, or
what may “static protocol structure” be :(
Alain
Em 18-03-2014 07:04, zakaria jouilil
escreveu:
Hi everyone.
I’m working on a project about protocol stack for embedded
systems. Honestly, I don’t have a robust background about this
subject (I met a lot of problem due to that). I was searching for
stacks that can be useful in this case and I found some articles
that considered the lwip stack as “the most used stack for
embedded system” (so if you know another stack that it can be very
useful for such systems, please don’t hesitate to say it because I
reaaaaally need your help).
I was reading the “official” (and may be obsolete) documentation
of Adam Dunkels, and I found a paragraph that disturbed me a lot.
He says that :
« There are 2 ways of interfacing the TCP/IP stack, either calling
the functions in the TCPb/UDP modules directly, or using the lwIP
API. The 1st approach is based on callbacks and an application
program that uses this approach can hence not operate in a
sequential manner. This makes it harder to program and the
application code is harder to understand. Also, the application
program that interfaces the TCP/UDP modules directly has reside in
the same process as the TCP/IP stack. This is because a callback
function cannot be called across a process boundary »
I really didn’t understand the two parts: why he says that a
callback can’t operate in a sequential manner? What does it mean
to say that a callback function cannot be called across a process
boundary??
As you can conclude, I’m not very familiar with this approach.
Consequently, I have a lot of questions related to that. But I
will conclude with a last one : can you please tell me (and
explain –if it is possible-) what partsof a lwip stack can be
configurable? Which aspects I mean?
For example, (from what I understood) the process model of lwip is
a “static protocol structure”. But my project requires mobility
and certain flexibility for these protocols. I mean that I want
(statically) to highlight the protocol that I want and not be
restricted by a static classification of these protocols.
That’s all ‘for the moment’, I will be very very useful if you
help me to clarify this points!
_______________________________________________
lwip-users mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/lwip-users
|