Roadmap

  • Stress testing [always]
  • Addition of Telnet and FTP clients (experimental level) [0.3] (done)
  • Cementing of TCP/UDP API [0.3] (done)
  • Addition of ICMP Ping/Traceroute protocol [na] (cancelled due to various reasons*)
  • Addition of SMTP, HTTP components [0.4] (done)
  • Stabilization of Telnet and FTP clients [0.5] (done)
  • Addition of MIME streams [0.5.1] (done)
  • Addition of Telnet and FTP servers (experimental level) [???]
  • Addition of SSL [0.6+] (done)
  • Addition of Carbon and/or Cocoa widget set support [0.7+]
  • Addition of Qt4 widget set support [0.7+]
  • Cleanup of SSL/HTTP (so pure HTTP doesn’t depend on TLSSLSocket) [0.6.x?]

* PING requires raw sockets which are only accessible to root on unix platforms. It was decided that lNet won’t support this, users who need PING should use the ping and ping6 programs via TProcess.

11 Comments »

  1. anon said,

    Are you planning to add a POP mail component?

  2. anon said,

    Will you add Proxy support to HTTP component?

  3. almindor said,

    Proxy probably yes, POP has however very low priority. Any additions will get accepted however if they have some minimal quality.

  4. Robert Lakis said,

    Any planning to enable synchronous socket, at least FTP client.

  5. almindor said,

    If by Synchronous socket you mean blocking socket operations then you can already do so since 0.5.0 era. You can enable sockets to be blocking by TLSocket.SetState(ssBlocking, True) on lNet 0.6+ or by TLSocket.Blocking := True on 0.5+ versions.

    If you need your sockets to be blocking right on create, you can make a TLSocket or TLSSLSocket descendant and override the SetOptions virtual method and change state to blocking right there. Don’t forget to call inherited BEFORE your changes (so even if inherited sets it to non-blocking and other options possibly, you set your own at the end)! Then just assign your socket class to “connection.SocketClass” and you’re done (before first connect/listen attempt). Works for higher protocols too.

    Note also that TLSSLSession currently changes the socketclass of it’s connection to TLSSLSocket IF it’s not already set to it or it’s descendant. So you have to use a TLSSLSocket descendant for your socket if you wish to use it (the only reason not to would be to avoid libc in Linux).

    Hope this helps, I should update the docs and write some info on these things.

  6. war said,

    Hey INet is realy nice and multi-platform, do you plan a TIRCClient

    Indy have one and are based on

    http://users.bigpond.net.au/tinyduck/tslyirc.html
    Cool if it can be in inet,but i just wanna ask

    Thanks

  7. almindor said,

    IRC isn’t officially planned however, FPCBot is written with lNet and has already basic client side IRC code in it. I never got to separating it into a proper protocol however. If anyone else does it it’ll get accept of course (provided the quality meets some minimum requirements) but I don’t plan to work on that anytime soon.

  8. Rapid said,

    What about IPv6 support?

  9. almindor said,

    IPv6 isn’t planned officially but I have looked into it in the past. It shouldn’t be too difficult to add.

  10. LacaK said,

    lNet cann’t compile using FPC >= 2.3.1
    Error: absolute can only be associated with a var or const
    http://wiki.lazarus.freepascal.org/User_Changes_Trunk#Absolute_variable_declarations
    Any plans to fix it ? or how to workaround ?
    TIA
    -Laco.

    • almindor said,

      Everything works for me with latest trunk (2.5.1). Can you please recheck? Also write more details (exact error, where it happened, when) to my mail.


Leave a Comment