Hello everyone. I am trying to implement Network Support in Rust std for UEFI. While trying to use the TCP6_PROTOCOL, I am not quite sure how to deal with destructing the protocol. Since TCP6_PROTOCOL is created using a EFI_SERVICE_BINDING_PROTCOL, it should be destroyed using the `DestroyChild()` method. However, do I also have to call `TCP6_PROTOCOL->Close()` before this or will `DestroyChild()` do that implicitly? If I do have to call this method myself, then do I need to do `DestroyChild()` in the `CloseToken->Event->NotifyFunction` or is it fine to `DestroyChild()` after calling `Close()` (event though `Close` is nonblocking) ?

Also, it would be great if someone can point me to some TCP Network applications. I did find some but most were either drivers, or were very simple and did not do any Cleanup stuff.


Note: Rust does not need the user to close the connection manually. It is closed once the object is dropped (which is done once the object owner goes out of scope at compile time).


Yours Sincerely

Ayush Singh



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#91318): https://edk2.groups.io/g/devel/message/91318
Mute This Topic: https://groups.io/mt/92361755/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to