Skip to content

Releases: TheElectronWill/Niol

v2.0.1

15 Dec 23:49
Compare
Choose a tag to compare
  • Cross-publish for Scala 2.13.
  • Replace JUnit by ScalaTest
  • Move some collections to a separate library (com.electronwill:more-collections)

Niol v2 - revamped

18 Mar 15:52
Compare
Choose a tag to compare
  • Better NiolInput/NiolOutput
  • NiolBuffer with only two subclasses to enable JIT bimorphic optimizations
  • New BytesStorage system
  • Automatic memory management with PhantomReferences
  • Improved ScalableSelector and ClientAttach
  • Various bugfixes and performance improvements

Niol 1.5.2 bugfix

13 May 10:25
Compare
Choose a tag to compare

Fix varint parsing

Niol 1.5.1

12 May 20:26
Compare
Choose a tag to compare

Added putFloat(Double) and putShort(Int)

Simpler ClientAttach

12 May 16:18
Compare
Choose a tag to compare
  • Removed the "infos" field and parameters
  • TcpListener and ServerChannelInfos now take the type of ClientAttach as a parameter

Compatibility with java's DataInput and DataOutput

22 Apr 16:45
Compare
Choose a tag to compare

ScalableSelector and data transformation

31 Mar 20:19
Compare
Choose a tag to compare
  • ScalableSelector replaces TcpServer and can handle multiple ServerSocketChannels at the same time.
  • ClientChannel now has an optional data transformation function, to transform the incoming data before the message is reconstructed and parsed. For instance, you can use this function to decipher the incoming bytes with AES.

BaseBuffer trait & other things

26 Nov 15:20
Compare
Choose a tag to compare
  • The providers are now restrained to BaseBuffers.
  • Added a logo and a good README.md
  • Better documentation

Improved, fixed, tested

25 Nov 13:57
Compare
Choose a tag to compare

Improved

  • New method NiolBuffer.subWrite(maxLength)
  • New method NiolBuffer.lsub(begin, end)
  • Precise definition of what the sub methods return.
  • Better handling of large messages
  • Upgrade to scala 2.12.4
  • More documentation

Fixed

  • Fixed TcpServer.start()
  • Fixed CircularBuffer.skipRead(n)
  • Fixed CircularBuffer.subRead(maxLength)
  • Fixed CompositeBuffer.subRead(maxLength)
  • In CompositeBuffer, readAvail and writeAvail are updated when necessary
  • NioBasedBuffer now redefines the sub method to a faster and more adapted code
  • In ClientAttach, the consistency of the SelectionKey's interestOps is now guaranteed by a synchronized block.

First stable release

30 Oct 20:03
Compare
Choose a tag to compare

Niol is ready to use!
Extend the TcpServer and ClientAttach classes and use the NiolBuffers to create a TCP server in a few minutes.