On 9 February 2017 at 21:02, Savolainen, Petri (Nokia - FI/Espoo)
<petri.savolai...@nokia-bell-labs.com> wrote:
> Hi,
>
> I still think that packet ref API should be defined so that an implementation 
> may fall back to doing packet copy instead of reference to shared data (if it 
> simply cannot handle packets by reference). Now after implementing packet ref 
> API as copy (in about 90 lines), only issues are with tests like this one ...
>
>         ref = odp_packet_ref(pkt, 100);
>         odp_packet_free(ref);
>
>         /* Verify that pkt no longer has a ref */
>         CU_ASSERT(odp_packet_has_ref(pkt) == 0);
>
> ... since free(ref) would need to update also 'pkt'.
>
> I think we should lesser the synchronization guarantees of 
> odp_packet_has_ref(), so that it returns if a packet "may have" still have 
> multiple references. And same thing for odp_packet_unshared_len() (may have 
> shared bytes). If application needs to be sure, it would need to be assured 
> some other way (e.g. calculating itself how many references was created / 
> freed). Most application would not be interested on the book keeping, but on 
> the possibility of creating and using references.

+1. This change is reasonable and would be beneficial to implementation also.

Regards,
Bala
>
> -Petri
>
>
>
>
>
>
>

Reply via email to