← Back to team overview

helenos-nicf team mailing list archive

uvolnovani paketu po zavolani write_packet

 

Ahoj,

co si myslite o tom, ze bychom uvolnovani paketu ve funkci nic_send_message_impl nechali na funkci write_packet?

data->write_packet(data, packet);
log_debug("Packet %d sent.", pid);
-pq_release_remote(data->net_phone, pid);
packet = next;

Ja totiz paket nechci uvonit hned, ale az za nakou dobu, az si ho precte sitovka.

Pro vraceni paketu by slo udelat nejakou obalovaci funkci, aby porad driver nemusel nic vedet o phonech.

Muzu si samozrejme napsat vlastni funkci misto nic_send_message_impl, ale prijde mi to pitome, kdyz by se lisila jen v jednom radku.

Druha moznost reseni je podminit to podle navratu write_packet:

log_debug("Sending packet %d.", pid);
-data->write_packet(data, packet);
+int rc = data->write_packet(data, packet);
log_debug("Packet %d sent.", pid);
+if (rc == E_RELEASE_PACKET) {
+	pq_release_remote(data->net_phone, pid);	
+}
-pq_release_remote(data->net_phone, pid);
packet = next;

Co si o tom myslite?
Zdenek


Follow ups