Screencast: Ruby's IO Buffering And You!
Published on September 25, 2012 by Jesse Storimer
Where I show you the difference between
syswrite(), explain what happens when you set
sync = true, and dive into the Rubinius source code to bring it all together.
I've been delving into Ruby's IO system lately and finding out lots of neat things. So I decided to share a few. The whole thing is less than 10 minutes long and demonstrates a bunch of nuances about working with
Socket in Ruby.
One quick correction. I say that the
InternalBuffer class is just a regular Ruby class. The truth is that it's a Ruby class whose storage is backed by a C++ class deep inside Rubinius. So C++ is managing that memory, not Ruby.
If you enjoyed this you should get on the email list for my new book about socket programming.