labath wrote:

> > The patch is still a bit larger than I'd like. I've tried to highlight a 
> > few things that could be split off into separate PRs, but I think the 
> > biggest question now (not really for you, but for lldb-dap maintainers) is 
> > whether this could be using the socket abstractions already present in lldb 
> > (instead of building your own). If the answer to that is "yes", then 
> > switching to those should probably be a separate patch as well.
> 
> I can split this into smaller patches.

Thanks.

> 
> As far as the socket abstraction, at the moment lldb-dap doesn't use much (if 
> anything) from lldb outside of the API folder. I saw the `lldb/Host/Socket.h` 
> files but they also are built on top of the `IOObject` and interact with the 
> `MainLoop` which would mean taking on a few new dependencies from the Host 
> folder. 

I am aware of that, but I don't think that situation is sustainable in the long 
run. When lldb-dap was first added, I believe it only supported talking over 
stdio, so it had like ~zero amount of socket code, and so this kind of purist 
approach did not hurt (much). However, its getting quite complex now, and I 
think copying/reimplementing every abstraction it needs is going to come back 
and bite us.

FWIW, the MainLoop class is self-contained, and might actually be useful if you 
wanted to support things like listening on IPv4 and v6 sockets simultaneously. 
And IOObject is just a abstract base, so it also doesn't shouldn't pull in 
much. We're also making sure (it took a lot of effort to reach that point) that 
the Host library as a whole does not depend on the rest of lldb.


https://github.com/llvm/llvm-project/pull/116392
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to