Google Web Accelerator

Matthew Mastracci matt at
Wed May 4 23:08:03 CDT 2005

To indulge my habit of trying the newest Google software releases under 
Wine, I decided to give the new Google Web Accelerator a shot with the 
latest CVS.

The first issue that I ran into (patches sent to wine-devel!) was the 
lack of StgCreateStorageEx and StgOpenStorageEx.  This seems to be used 
by Google to store their extra web cache data.

Once I replaced the stubs with proper functions, the application started 
up and started caching data.  From what I can tell, it even contacts the 
Google server for the compressed updates.  It doesn't seem to "save 
time" in any way - I think this might have something to do with the 
inefficiency within the structured storage implementation (100% CPU for 
a short period of time as you request pages).  My theory is that the 
application picks the request that returns first - Google's optimized 
version or the web page's response.

It seems to die after a few minutes of browsing with what appears to be 
an async IO error.  The strange thing is that the error code looks like 
a memory location rather than a winsock error:

fixme:winsock:NtStatusToWSAError Status code 77ce16c0 converted to DOS 
error code 77ce16c0
fixme:winsock:WS2_async_send status: c0000120
[matthew at epsilon temp]$ cd /tmp/wine/dlls/winsock

I tried to trace through what happens in an asynchronous send operation, 
but I couldn't figure out how the status of the response was translated 
back to the "->Internal" field of the OVERLAPPED structure.  Any hints?


More information about the wine-devel mailing list