# Google SoC lwIP Report Week 6

DevFeed: [Google SoC lwIP Report Week 6](<https://devfeed.tech/articles/google-soc-lwip-report-week-6-32792.md>)

Original publisher: [Read original article](<https://reactos.org/blogs/google-soc-lwip-report-week-6/>)

Published: 2016-07-03T00:00:00Z

Content type: article

Language: en

Sources: [Front Page on ReactOS Website](<https://devfeed.tech/sources/front-page-on-reactos-website.md>)

Topics: [lwIP](<https://devfeed.tech/topics/lwip.md>), [Code](<https://devfeed.tech/topics/code.md>), [implementation](<https://devfeed.tech/topics/implementation.md>), [Server](<https://devfeed.tech/topics/server.md>), [Protocol (disambiguation)](<https://devfeed.tech/topics/protocol.md>), [bug](<https://devfeed.tech/topics/bug.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [callback](<https://devfeed.tech/tags/callback.md>), [client](<https://devfeed.tech/tags/client.md>), [code](<https://devfeed.tech/tags/code.md>), [free](<https://devfeed.tech/tags/free.md>), [function](<https://devfeed.tech/tags/function.md>), [google](<https://devfeed.tech/tags/google.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [lwip](<https://devfeed.tech/tags/lwip.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [os](<https://devfeed.tech/tags/os.md>), [react](<https://devfeed.tech/tags/react.md>), [reactos](<https://devfeed.tech/tags/reactos.md>), [server](<https://devfeed.tech/tags/server.md>), [state](<https://devfeed.tech/tags/state.md>), [test](<https://devfeed.tech/tags/test.md>), [win32](<https://devfeed.tech/tags/win32.md>), [winapi](<https://devfeed.tech/tags/winapi.md>)

## AI overview

A weekly development report on restructuring a lwIP driver around connection and request state variables. The author describes queuing send and receive requests, handling callbacks, testing the state machine, and investigating a page fault during client closure.

## Source excerpt

I closed out last week by drawing a flow chart in preparation for restructuring my code for some new state variables. For most of this week, I was figuring out details about, and implementing, this chart. One of new state variable I added in is one variable in the CONNECTION_CONTEXT struct, specifying what that particular connection is doing. This way, my driver can easily identify a socket as bound or not, whether it is currently connected, and what operations it is trying to perform.