← Back to team overview

rohc team mailing list archive

Re: Patch to optimize WLSB memory allocation (Was: Support of RFC4996 RoHC-TCP)

 

WBX,

> >>   struct c_window
> >>   {
> >> +	uint16_t is_used;    /**<  Whether the window entry is
> >> used or not */ uint16_t sn;     /**<  The Sequence Number (SN)
> >> associated with the entry (used to acknowledge the entry) */
> >>   	uint32_t value;  /**<  The value stored in the window
> >> entry */
> >> -	bool is_used;    /**<  Whether the window entry is used or
> >> not */ };
> >
> > Why changing the position and the type of is_used?
> >
> 
> ==> Just to align members of the structure, and compact
>     the size (16+16+32) rather than (16+(16)+32+32) when not
> compacted.

I see your point. I prefer however to keep the bool type for semantic
reasons.


> >>   	size_t bits;
> >>   	/// Shift parameter (see 4.5.2 in the RFC 3095)
> >>   	rohc_lsb_shift_t p;
> >> +
> >> +	/// @brief The window in which numerous previous values of
> >> the encoded value
> >> +	///        are stored to help recreate the value
> >> +	struct c_window window[1];
> >>   };
> >
> > Why not use flexible arrays from ISO C99?
> >
> 
> ==> Because I am not sure all old compilers understand and support
> that, especially older cross-compilers I used. This way is not the
> best, but I am sure that it is very easy to compile.

OK. Patch applied on trunk in 2 parts. Thanks for sending it!

See http://bazaar.launchpad.net/~didier-barvaux/rohc/main/revision/354
and http://bazaar.launchpad.net/~didier-barvaux/rohc/main/revision/355
for details.


Regards,
Didier

Attachment: signature.asc
Description: PGP signature


Follow ups

References