Adding libslirp networking to DOSBox-X: Part 4
Channel: Jookia
Date: 2021-10-14

Finishing this series, we port out code to Windows.
Off stream I managed to get this merged.
ReactOS bug: https://jira.reactos.org/browse/CORE-17425

This video may include adult language and humor.
See more at https://twitch.tv/jookia2
Streamed on 2021-01-14
All original content in the video is licensed CC0 by me.

Timestamps:

00:00:00 Introduction, review of Windows code
00:06:21 Showing how slirp doesn't work on Windows
00:07:51 Testing DOSBox-X in ReactOS
00:17:31 Adding debugging tracing
00:29:46 Inspecting how slirp works on Linux
00:33:11 Implementing polling on Windows using select
00:43:21 Adding logging and debugging crash
00:54:06 Debugging why it works
00:54:06 Finding it works and debugging why poll is broken
00:58:06 Making Windows and Linux logging similiar
01:11:34 Comparing test branch to see why new code works
01:27:51 Debugging why my test branch is broken
01:32:31 Comparing branch code directly and finding bugs
01:46:06 Debugging poll registering on Windows
02:00:01 Testing disabling poll registering
02:03:29 Investigating extra poll types
02:29:31 Looking at Windows code for extra poll types
02:39:31 Testing and debugging Windows poll code
02:52:01 Reviewing the Windows poll code
02:54:06 Ditching and rewriting the Windows poll code
03:11:56 Testing the new Windows code
03:15:06 Fixing POLLHUP not working
03:26:29 Researching out of band data, booting ReactOS
03:33:09 Fixing use of inet_ntop
03:54:14 Setting up DOSBox-X in ReactOS
04:03:14 Testing Slirp in ReactOS
04:10:14 Debugging why it isn't reading HTTP headers
04:14:39 Adding support for OOB TCP data
04:18:14 Debugging ReactOS build with extra tracing
04:22:39 Using ioctlsocket to check for OOB TCP data
04:26:14 Comparing Wine and ReactOS traces
04:36:24 Re-evaluating and changing POLL events on Windows
04:48:14 Researching shims for NT 6 APIs
04:50:54 Debugging the recv error
04:57:44 Testing the fixed POLL_IN on ReactOS
04:58:44 Debugging why POLL_IN disappeared
05:10:14 Testing without recv peeking
05:10:44 Confirm that recv peeking is broken
05:17:09 Comitting and pushing code
05:28:39 Looking for reported recv ReactOS bugs
05:36:44 Looking at ReactOS recv code
05:47:49 Checking that the final code works
05:49:24 Building on Windows 10 and checking Wine code
05:54:14 Testing on my Windows 10 machine
05:55:34 Building for Windows