Re: Re: Nuking issock - PHP Streams
| From: | Wez Furlong | Date: | Mon, 18 Feb 2002 09:15:52 +0000 |
| Subject: | Re: Re: Nuking issock - PHP Streams | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-80134@lists.php.net to get a copy of this message | ||
Hi Stig,
> > Actually, what would be nice would be to move most of the ext/standard/fsock.c
> > code into main/network.c - I remember that Stig wanted to track some extra
> > socket info.
This is now done :-)
> > Can you refresh my memory Stig?
I actually meant the "other" Stig - Stig Venaas - I know he wanted
to record stuff like the socket family because there was no standard
way of retrieving the info from a plain socketd.
> I think there should be a void pointer for use by each url wrapper
> module (http, ftp etc.), so the http wrapper can store HTTP headers, the
> ftp wrapper can store the server's login message etc.
Yes, this is a good idea. I implemented http/https wrappers for
streams last night (it's looking good :-) and I have to say that I'm
not too keen on the way that the http_response_header stuff is placed
into the active symbol table.
How about a zval though? Then the wrapper can store more structured
data and this can be easily passed back to user-land with a function
named something like fgetwrapperdata($fp).
Actually, a void * for wrapper context and a zval for returned "metadata"
is probably the way to do it.
> Go Wez!
I'm going... ! :-)
I'm wondering what the general opinion would be if I committed the streams
stuff so that is was the default and that all the legacy code was removed?
Certain parts of PHP might not be functioning correctly for a few days,
but it would really make things easier to get streams off the ground.
Both file and socket based streams are now implemented; socket streams
can have SSL turned on/off (if openssl support is present). We have
fopen wrappers equivalents that can fallback on regular fopen wrappers
if there are no stream-specific versions.
It's really just going through the extensions and making them streams aware,
and there only a couple left to do - like the image functions, where the
code is a bit too hairy to add #ifdefs.
--Wez.