Code Monkey home page Code Monkey logo

Comments (4)

bcronje avatar bcronje commented on July 22, 2024 1

InfiniteSource uses a larger default packet headroom when it creates the packet. It is also configurable. Where RatedSource uses a smaller header size which ends up as less than the space needed by your two encap elements. The end result is Click will then have to reallocate the packet memory to cater for the packet size, hence the "expensive push" warning.

Everything should work, it just warns about the additional memory allocation and copy.

RatedSource could be updated to also accept a header argument maybe?

from fastclick.

kthkaya avatar kthkaya commented on July 22, 2024

Thanks Beyers,

I could work on a handler for that, however there is a note about click-align. I don't know what click-align is used for.

// note: if you change `headroom', change `click-align'
unsigned int headroom = 16+20+24;

Perhaps L255-L256 can be substituted with the following

_headroom = Packet::default_headroom;

from fastclick.

tbarbette avatar tbarbette commented on July 22, 2024

Click-align ensures that access to bytes of the packet are always on the architecture word size boundary by introducing "Align" elements here and there. I doubt anyone is still using an arch where accessing un-aligned bytes is more costly than moving the whole packets multiple times in memory, though... @pallas ?

I think you can safely also use default_headroom here. And making it a configuration option still allows people to revert to the normal behavior.

from fastclick.

kthkaya avatar kthkaya commented on July 22, 2024

Thanks guys, the warning now disappeared.
#133

from fastclick.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.