lwip-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lwip-users] the sequentiality of the lwip stack


From: Alain Mouette
Subject: Re: [lwip-users] the sequentiality of the lwip stack
Date: Tue, 18 Mar 2014 11:32:16 -0300
User-agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130801 Thunderbird/17.0.8

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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]