Re: Introduction

From: Serassio Guido <>
Date: Thu, 28 Apr 2005 13:38:23 +0200

Hi Andrey,

At 00.46 28/04/2005, Andrey Shorin wrote:

>Hello Serassio,
>Tuesday, April 26, 2005, 13:08:09, Serassio Guido wrote:
> >>Now I plan to port diskd filesystem to Windows.
> >>
> >>Andrey Shorin
> >>System/Web Administration Consultant
>SG> Welcome on board again !!!
>SG> They are currently some Squid aspect that needs more work in the Windows
>SG> port. some of they could be integrated in Squid 3.0, in priority order
>SG> are:
>SG> - Integration of Windows and Unix IPC models (partially done from
>Robert, a
>SG> blocker for complete Squid 3.0 integration)
>Could you please be more specific on this?
See in the nt-3_0 branch.

>SG> - Override the 2048 FD limit
>Unmortunately, I forgot already what is the case of this limit...

The MS CRT is hard limited to 2048 File descriptors. This limits the Squid
capability on Windows.

>SG> and native socket handling (could go in 3.1)
>Do you mean getting rid of such macros:
>#define read(fd,buf,siz) \
> (_so_err_siz = sizeof(_so_err), \
> getsockopt((fd),SOL_SOCKET,SO_ERROR,&_so_err,&_so_err_siz) \
> == 0 ? recv((fd),(buf),(siz),0) : _read((fd),(buf),(siz)))
>I see there is already 'type' member in struct _fde and FD_SOCKET
>enum constant. We could do something like this:
>#define read _w32_read
>int _w32_read(int fd, char* buf, int siz)
> switch (fd_table[fd].type) {
> case FD_FILE:
> return _read(fd, buf, siz);
> case FD_SOCKET:
> return recv(fd, buf, siz, 0);
> ...
> }

No, I want to remove the select() use for Sockets I/O, something like
poll(), epoll() or kqueue() support, but more efficient using Windows Event
objects or Overlapped I/O.

>SG> - Native Windows optimized Disk I/O (could go in 3.1)
>Em... Have no idea on what do you mean ;)

Non more awin32 and not a diskd port, but a full native Windows Disk I/O Layer.
See the new 3.0 DISKIO architecture.

See the following threads for more details:

>SG> - Native transparent proxy support (not so critical)
>We need a driver here. Hopefully wipfw (
>has it. I'll try to dig into sources (and obtain DDK btw).

Interesting, but still incomplete:

Q: Whats the difference between WIPFW and IPFW?
A: Now wipfw is unable to change packets content, so it is impossible to
redirect packets. Also wipfw has no traffic shaper. In fiture wipfw will be
using ndis driver which will allow all abilities.



Guido Serassio
Acme Consulting S.r.l. - Microsoft Certified Partner
Via Lucia Savarino, 1 10098 - Rivoli (TO) - ITALY
Tel. : +39.011.9530135 Fax. : +39.011.9781115
Received on Thu Apr 28 2005 - 10:33:50 MDT

This archive was generated by hypermail pre-2.1.9 : Sun May 01 2005 - 12:00:06 MDT