On Thu, Oct 25, 2012 at 2:05 PM, Jeff Morriss <jeff.morriss...@gmail.com> wrote:
> Evan Huus wrote:
>>
>> The usage might look something like this:
>>
>> wmem_allocator_t *ep_scope = wmem_create_glib_allocator();
>> doWork(ep_scope);
>> wmem_destroy_glib_allocator(ep_scope);
>>
>> and then in doWork, instead of ep_alloc(numBytes) you would call
>> wmem_alloc(ep_scope, numBytes).
>
>
> Hopefully stupid question (without having had time to look at the code):
> does that mean passing ep_scope all the way down to the dissectors and where
> they do their allocations?

Unfortunately, yes. You'd have an se_scope as well (and potentially
others) so they'd probably be wrapped up in a single `scopes` object,
but it does mean one more parameter to pass around.

> I hope not; it's been a pain just to get pinfo
> all the way down into some of the routines (for expert infos).

I know, but I don't know that there's a nice way around it.

On that thought: since the amount of packet-related data keeps
growing, might it be worth the effort to wrap all the current
parameters (tvbuff, pinfo, tree, etc.) into a single 'dissect-me'
struct to pass around? I know it's not really good style in a lot of
ways, but it would make it a lot easier to expose new things to
dissectors and automatically have them available in all of the
internal functions.

Evan
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to