Say you have to write 100 strings: Would you consider it better (in benchmark terms) to write their content into a big buffer and then memcpy(ing) it into a packet being created with the written size, or writing directly into packet->data and resizing it each time a string is being written when the written size exceeds the packet's size?
I wanted to alter packet->dataLength to manipulate the amount of data being sent so that a single allocation is needed in case the exact size is a bit messy to calculate (I used strings as an example). If it's not viable, sounds like the first option could work. 2017-04-10 0:25 GMT-03:00 Lee Salzman <[email protected]>: > Use enet_packet_resize to grow the packet. That's what it exists for. > > On Sun, Apr 9, 2017 at 11:00 PM, Kazin Lujan <[email protected]> wrote: > > Could modifying packet->dataLength before being sent cause a leak? > > > > I'm setting it to 0 after I create it and increasing the value based on > the > > data I'm writing into packet->data. > > > > I'm doing this when I don't know what will be the exact size of the data > to > > be sent. > > > > I assume enet will destroy all the data regardless of the dataLength > value > > since it uses packet->data = enet_malloc(...) to allocate in > > enet_packet_create and enet_free(packet->data) to deallocate in > > enet_packet_destroy(...), but I don't know about enet's internal > processes. > > > > Example code: https://pastebin.com/QdaHjqft > > > > _______________________________________________ > > ENet-discuss mailing list > > [email protected] > > http://lists.cubik.org/mailman/listinfo/enet-discuss > > > _______________________________________________ > ENet-discuss mailing list > [email protected] > http://lists.cubik.org/mailman/listinfo/enet-discuss >
_______________________________________________ ENet-discuss mailing list [email protected] http://lists.cubik.org/mailman/listinfo/enet-discuss
