[Web Feed] I am fol??low??ing the evo??lu??tion of the embed??ded Rust com??mu??ni??ty and in pa...

Feed Supplier <[email protected]>
Newsgroups alt.comp.programming
Organization Usenet.Farm
Message-ID <[email protected]>
..r­tic­u­lar the work of James Munns from Fer­rous-S



I am fol­low­ing the evo­lu­tion of the embed­ded Rust com­mu­ni­ty and in par­tic­u­lar the work of James Munns from Fer­rous-Sys­tems. One of the projects that caught my atten­tion is 
github.com/jamesmunns/bbqueue: bbqueue, a sin­gle pro­duc­er, sin­gle con­sumer, lock­less, thread safe queue, based on 
www.codeproject.com/Articles/3479/%2FArticles%2F3479%2FThe-Bip-Buffer-The-Circular-Buffer-with-a-Twist: Bip­Buffers.

The main usage for this library is asyn­chro­nous han­dling of data com­ing in or going out of a periph­er­al, in par­tic­u­lar when using Direct Mem­o­ry Access (DMA).

When receiv­ing data from a periph­er­al, say an Eth­er­net con­troller, the user has to pro­vide a chunk of mem­o­ry where a pack­et can be stored when it is received. Once the pack­et is ful­ly received, there will usu­al­ly be an inter­rupt to sig­nal the arrival of the pack­et and anoth­er chunk of mem­o­ry has to be pro­vid­ed very quick­ly in case anoth­er pack­et arrives dur­ing the pro­cess­ing of the first one. Most of the time the recep­tion and the pro­cess­ing of the data will be han­dled in dif­fer­ent con­texts, for exam­ple an inter­rupt han­dler and a thread. The pack­et has to be decod­ed through var­i­ous stacks of pro­to­col and in the end the data has to be pre­sent­ed to the user. Copy­ing poten­tial­ly large blocks of data as it moves through the pro­to­col stacks to the user must be min­i­mized for the sake of performance.




Link 1


From Rust to SPARK: Formally Proven Bip-Buffers | The AdaCore Blog: https://blog.adacore.com/from-rust-to-spark-formally-proven-bip-buffers
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.