* Implement Stop Container
* Add TODO for testing Stop() on a container in 'Created' state
* Update src/windows/wslaservice/exe/WSLAContainer.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/windows/wslaservice/exe/WSLAContainer.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update src/windows/wslaservice/exe/WSLAContainer.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix timeout, state, etc.
* Change to using a recursive_mutex for now
Based on discussions, preferring easier code readability,
maintenance, debugging until we do perf testing. Also consistency
with existing codebase for similar scenarios
* Fix merge issues and change to recursive_mutex after merge
---------
Co-authored-by: Pooja Trivedi <trivedipooja@microsoft.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Reverts to the original DEFINED-only check for consistency with existing build logic. This is a small follow-up based on reviewer feedback from the previous PR.
* Implement CreateContainer method
* Build fixes
* Implement CreateContainer method
* Update src/windows/wslaservice/exe/WSLAContainer.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix nerdctl host networking parameter
* Prototype CreateContainer()
* Format
* Format
* Start writing tests
* Fix various issues
* Add new files
* Test cleanup
* Test cleanup
* Prepare for PR
* Fix ARM build
* Add copyright header
* Update cmakelists.txt
* Use ifdefs
* Format
* ifdef ARM64
* Install the test .vhd in the MSI
* Update the stdin test
* Format
* Refactor the session creation logic to match the new WSLA API
* Prepare for review
* Apply PR feedback
* Use early return
* Save state
* Implement container state management
* Format
* Implement open
* Implement Delete() and proper sync logic
* Format
* Handle nerdctl inspect failures
* Format
* Fix logic error in poll
* Format
---------
Co-authored-by: Pooja Trivedi <trivedipooja@microsoft.com>
Co-authored-by: Pooja Trivedi <poojatrivedi@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Implement CreateContainer method
* Build fixes
* Implement CreateContainer method
* Update src/windows/wslaservice/exe/WSLAContainer.cpp
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Fix nerdctl host networking parameter
* Prototype CreateContainer()
* Format
* Format
* Start writing tests
* Fix various issues
* Add new files
* Test cleanup
* Test cleanup
* Prepare for PR
* Fix ARM build
* Add copyright header
* Update cmakelists.txt
* Use ifdefs
* Format
* ifdef ARM64
* Install the test .vhd in the MSI
* Update the stdin test
* Format
* Refactor the session creation logic to match the new WSLA API
* Prepare for review
* Apply PR feedback
* Use early return
---------
Co-authored-by: Pooja Trivedi <trivedipooja@microsoft.com>
Co-authored-by: Pooja Trivedi <poojatrivedi@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This change implements the VirtioProxy networking mode for WSLA.
This required moving the VirtioProxy and GnsChannel classes into the common library (with NatNetworking).
DNS tunneling is currently not supported with this networking mode, so an error is returned.
With this change I have updated the default networking move of 'wsl.exe --wsla' to also use
VirtioProxy networking mode.