diff options
| author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2004-06-15 23:00:56 +0000 |
|---|---|---|
| committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2004-06-15 23:00:56 +0000 |
| commit | 843a431ef98fd541d98fd3898463985d9bfcde28 (patch) | |
| tree | 2de4cd78a58ee17aa029528ede8ff5989b819019 /doc/index.html | |
| parent | cb03a0e95429cc0d498e77fd50241c87fd2bf3ea (diff) | |
| download | luasocket-843a431ef98fd541d98fd3898463985d9bfcde28.tar.gz luasocket-843a431ef98fd541d98fd3898463985d9bfcde28.tar.bz2 luasocket-843a431ef98fd541d98fd3898463985d9bfcde28.zip | |
Almost done with manual...
Diffstat (limited to 'doc/index.html')
| -rw-r--r-- | doc/index.html | 77 |
1 files changed, 52 insertions, 25 deletions
diff --git a/doc/index.html b/doc/index.html index a2c2d59..c4c1e2f 100644 --- a/doc/index.html +++ b/doc/index.html | |||
| @@ -47,7 +47,7 @@ applications that deal with the Internet. | |||
| 47 | <p> | 47 | <p> |
| 48 | Network support has been implemented so that it is both efficient and | 48 | Network support has been implemented so that it is both efficient and |
| 49 | simple to use. LuaSocket can be used by any Lua application once it has | 49 | simple to use. LuaSocket can be used by any Lua application once it has |
| 50 | been properly linked with and initialized by the interpreter running the | 50 | been properly initialized by the interpreter running the |
| 51 | Lua application. The code has been tested and runs well on several Windows | 51 | Lua application. The code has been tested and runs well on several Windows |
| 52 | and Unix platforms. | 52 | and Unix platforms. |
| 53 | </p> | 53 | </p> |
| @@ -61,7 +61,7 @@ LuaSocket. | |||
| 61 | </p> | 61 | </p> |
| 62 | 62 | ||
| 63 | <p> | 63 | <p> |
| 64 | Copyright © 1999-2003 Tecgraf/PUC-Rio. All rights reserved. <br> | 64 | Copyright © 1999-2004 Tecgraf/PUC-Rio. All rights reserved. <br> |
| 65 | Author: <A href="http://www.cs.princeton.edu/~diego">Diego Nehab</a> | 65 | Author: <A href="http://www.cs.princeton.edu/~diego">Diego Nehab</a> |
| 66 | </p> | 66 | </p> |
| 67 | 67 | ||
| @@ -70,7 +70,7 @@ Author: <A href="http://www.cs.princeton.edu/~diego">Diego Nehab</a> | |||
| 70 | <h2 id=download>Download</h2> | 70 | <h2 id=download>Download</h2> |
| 71 | 71 | ||
| 72 | <p> | 72 | <p> |
| 73 | LuaSocket version 2.0 alpha is now available for download! It is | 73 | LuaSocket version 2.0 beta is now available for download! It is |
| 74 | compatible with Lua 5.0 and has been tested on | 74 | compatible with Lua 5.0 and has been tested on |
| 75 | Windows XP, Linux, and Mac OS X. | 75 | Windows XP, Linux, and Mac OS X. |
| 76 | </p> | 76 | </p> |
| @@ -81,8 +81,8 @@ The library can be downloaded in source code from the following links: | |||
| 81 | 81 | ||
| 82 | <blockquote> | 82 | <blockquote> |
| 83 | <p> | 83 | <p> |
| 84 | <a href="luasocket-2.0-alpha.tar.gz">luasocket-2.0-alpha.tar.gz</a> <br> | 84 | <a href="luasocket-2.0-beta.tar.gz">luasocket-2.0-beta.tar.gz</a> <br> |
| 85 | <a href="luasocket-2.0-alpha.zip">luasocket-2.0-alpha.zip</a> | 85 | <a href="luasocket-2.0-beta.zip">luasocket-2.0-beta.zip</a> |
| 86 | </p> | 86 | </p> |
| 87 | </blockquote> | 87 | </blockquote> |
| 88 | 88 | ||
| @@ -112,11 +112,11 @@ option, and should be able to run the automatic test procedures. | |||
| 112 | <h2 id=thanks>Special thanks</h2> | 112 | <h2 id=thanks>Special thanks</h2> |
| 113 | 113 | ||
| 114 | <p> | 114 | <p> |
| 115 | Throughout LuaSocket its history, many people gave sugestions that helped | 115 | Throughout LuaSocket's history, many people gave sugestions that helped |
| 116 | improve it. For that, I thank the Lua comunity. | 116 | improve it. For that, I thank the Lua comunity. |
| 117 | Special thanks go to | 117 | Special thanks go to |
| 118 | David Burgess, who has pushed the library to a new level of quality and | 118 | David Burgess, who has pushed the library to a new level of quality and |
| 119 | from whom I have learned a lot stuff that doesn't show up in RFCs. | 119 | from whom I have learned a lot of stuff that doesn't show up in RFCs. |
| 120 | Special thanks also to Carlos Cassino, who played a big part in the | 120 | Special thanks also to Carlos Cassino, who played a big part in the |
| 121 | extensible design seen in the C core of LuaSocket 2.0. | 121 | extensible design seen in the C core of LuaSocket 2.0. |
| 122 | </p> | 122 | </p> |
| @@ -127,7 +127,7 @@ extensible design seen in the C core of LuaSocket 2.0. | |||
| 127 | 127 | ||
| 128 | 128 | ||
| 129 | <p> | 129 | <p> |
| 130 | Most of the changes for 2.0 happened in the C layer, which | 130 | Everything is new! Many changes for 2.0 happened in the C layer, which |
| 131 | has been almost completely rewritten. The code has been ported to Lua 5.0 | 131 | has been almost completely rewritten. The code has been ported to Lua 5.0 |
| 132 | and greatly improved. There have also been some API changes | 132 | and greatly improved. There have also been some API changes |
| 133 | that made the interface simpler and more consistent. Here are some of | 133 | that made the interface simpler and more consistent. Here are some of |
| @@ -140,58 +140,85 @@ the changes that made it into version 2.0: | |||
| 140 | pipes (on Unix) and named pipes (on windows) as a bonus; | 140 | pipes (on Unix) and named pipes (on windows) as a bonus; |
| 141 | 141 | ||
| 142 | <li> Following the Lua 5.0 trend, all functions provided by the library are | 142 | <li> Following the Lua 5.0 trend, all functions provided by the library are |
| 143 | in the namespace <tt>socket</tt>. Functions such as | 143 | in namespaces. These should be obtained with calls to the |
| 144 | <tt>require</tt> function. Functions such as | ||
| 144 | send/receive/timeout/close etc do not exist anymore as stand-alone | 145 | send/receive/timeout/close etc do not exist anymore as stand-alone |
| 145 | functions. They are now only available as methods of the appropriate | 146 | functions. They are now only available as methods of the appropriate |
| 146 | objects; | 147 | objects; |
| 147 | 148 | ||
| 148 | <li> All functions return a non-nil value as first return value if successful. | 149 | <li> All functions return a non-nil value as first return value if successful. |
| 149 | All functions return whatever could be retrieved followed by error message | 150 | All functions return <b><tt>nil</tt></b> followed by error message |
| 150 | in case of error. The best way to check for errors is to check for the | 151 | in case of error; |
| 151 | presence of an error message; | ||
| 152 | 152 | ||
| 153 | <li> UDP connected sockets can break association with peer by calling | 153 | <li> Better error messages and parameter checking; |
| 154 | |||
| 155 | <li> Should be interrupt safe; | ||
| 156 | |||
| 157 | <li> UDP connected sockets can break association with peer by calling | ||
| 154 | <tt>setpeername</tt> with address '<tt>*</tt>'; | 158 | <tt>setpeername</tt> with address '<tt>*</tt>'; |
| 155 | 159 | ||
| 156 | <li> TCP has been changed to become more uniform. First create an object, | 160 | <li> TCP has been changed to become more uniform. First create an object, |
| 157 | then connect or bind if needed, and finally use I/O functions. The | 161 | then connect or bind if needed, and finally use I/O functions. The |
| 158 | <tt>socket.connect</tt> and <tt>socket.bind</tt> functions are still | 162 | <tt>socket.connect</tt> and <tt>socket.bind</tt> functions are still |
| 159 | provided for simplicity, but they just call <tt>socket.tcp</tt> followed | 163 | provided for simplicity, but they just call <tt>socket.tcp</tt> followed |
| 160 | by the <tt>connect</tt> or <tt>bind</tt> methods; | 164 | by the <tt>connect</tt> or <tt>bind/listen</tt> methods; |
| 161 | 165 | ||
| 162 | <li> Better error messages and parameter checking; | 166 | <li> Greatly reduced the number of times select is called during data |
| 167 | transfers, by calling only on failure; | ||
| 168 | |||
| 169 | <li> TCP can set timeout value before connecting and also bind to local | ||
| 170 | address before connecting; | ||
| 171 | |||
| 172 | <li> <tt>socket.select</tt> returns associative sets and checks if | ||
| 173 | sockets had buffered data; | ||
| 163 | 174 | ||
| 164 | <li> <tt>socket.sleep</tt> and <tt>socket.time</tt> are now part of the | 175 | <li> <tt>socket.sleep</tt> and <tt>socket.time</tt> are now part of the |
| 165 | library and are supported. They used to be available only when | 176 | library and are supported. They used to be available only when |
| 166 | LUASOCKET_DEBUG was defined, but it turns out they might be useful for | 177 | LUASOCKET_DEBUG was defined, but it turns out they might be useful for |
| 167 | applications; | 178 | applications; |
| 168 | 179 | ||
| 169 | <li> Socket options interface has been improved and TCP objects also | 180 | <li> <tt>socket.try</tt> and <tt>socket.protect</tt> provide a simple |
| 170 | support socket options. | 181 | interface to exceptions that proved very in the implementation of |
| 182 | high-level modules; | ||
| 183 | |||
| 184 | <li> Socket options interface has been improved. TCP objects also | ||
| 185 | support socket options and many other options were added. | ||
| 186 | |||
| 187 | </ul> | ||
| 188 | |||
| 189 | <p> | ||
| 190 | Lots of changes in the Lua modules, too. The new MIME and LTN12 modules | ||
| 191 | make all other modules much more powerful. The main new functionality is | ||
| 192 | the support for multipart messages in the SMTP module. | ||
| 193 | </p> | ||
| 194 | |||
| 195 | <ul> | ||
| 196 | |||
| 197 | <li> | ||
| 171 | 198 | ||
| 172 | </ul> | 199 | </ul> |
| 173 | 200 | ||
| 201 | |||
| 174 | <!-- incompatible +++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 202 | <!-- incompatible +++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
| 175 | 203 | ||
| 176 | <h3 id=incompatible>Incompatibilities with previous versions</h3> | 204 | <h3 id=incompatible>Incompatibilities with previous versions</h3> |
| 177 | 205 | ||
| 178 | <ul> | 206 | <ul> |
| 207 | |||
| 179 | <li> The introduction of namespaces affects all programs that use LuaSocket, | 208 | <li> The introduction of namespaces affects all programs that use LuaSocket, |
| 180 | specially code that relies on global functions. These are no longer | 209 | specially code that relies on global functions. These are no longer |
| 181 | available. Note that even the support modules (<tt>http</tt>, <tt>smtp</tt> | 210 | available. Note that even the support modules (<tt>http</tt>, <tt>smtp</tt> |
| 182 | etc) have been moved to the namespace (i.e. <tt>socket.http</tt>, | 211 | etc) are independent now and should be "<tt>require</tt>ed"; |
| 183 | <tt>socket.smtp</tt> etc); | 212 | |
| 213 | <li> FTP, SMTP and HTTP are completely new; I am sure you will | ||
| 214 | agree the new stuff is better; | ||
| 184 | 215 | ||
| 185 | <li> WARNING: The new <tt>send</tt>, | 216 | <li> WARNING: The new <tt>send</tt>, <tt><b>receive</b></tt>, |
| 186 | <tt>sendto</tt>, <tt>setpeername</tt> and <tt>setsockname</tt>, | 217 | <tt>sendto</tt>, <tt>setpeername</tt> and <tt>setsockname</tt>, |
| 187 | <tt>ftp.put</tt>, <tt>ftp.put_cb</tt> return convention WILL break old code; | 218 | return convention WILL break old code; |
| 188 | 219 | ||
| 189 | <li> Interface to options has changed; | 220 | <li> Interface to options has changed; |
| 190 | 221 | ||
| 191 | <li> <tt>socket.select</tt> refuses tables that have anything that is not | ||
| 192 | an object from the group <tt>select{able}</tt>. This includes even the | ||
| 193 | '<tt>n</tt>' field. Silently ignoring objects was a source of bugs for Lua | ||
| 194 | programs. | ||
| 195 | </ul> | 222 | </ul> |
| 196 | 223 | ||
| 197 | <!-- old ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> | 224 | <!-- old ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> |
