FreeRDP
FreeRDP copied to clipboard
implement external io handling (networking, crypto, ...)
it's required to do whole io handling outside libfreerdp for both servers and clients implementations.
with current api this is seems to be impossible, so we currently working on implementation this kind of api for freerdp, goal is to maintain complete compatibility with existing codebase.
currently i am doing research of freerdp internals. for now i see it as:
- add BOOL? variable to switch io handling method
- add write function somewhere (where?) in freerdp api to pass data into freerdp
- add write callback somewhere (where?) in freerdp api to pass data from freerdp
currently i figured what low level BIO based io done in "transport_read_layer" and "transport_write" (correct me if i am wrong)
open questions:
- where to place new api call and callback ?
- is any low level io implementation exists in addition to "transport_read_layer" and "transport_write" ?
i guess best place for callback definition is "rdp_update" struct, i think i will add something like "rdp_io_update" inside it, and in this "rdp_io_update" i will add something like "WriteBack" ? or just "Write" ?
i think it will be "Write" and "WriteBack" inside "rdp_io_update" and in case of usage external io, additional function will be called to initialize this "Write" to default implementation, i guess...
This issue is stale because it has been open for 30 days with no activity.
This issue was closed because it has been inactive for 14 days since being marked as stale.
@sss123next added https://github.com/FreeRDP/FreeRDP/pull/10679 for client side