Akka IO refusing to send an empty datagram

29 views
Skip to first unread message

hd471...@gmail.com

unread,
Apr 27, 2015, 6:49:55 AM4/27/15
to akka...@googlegroups.com
Dear group,

I am trying to send an empty datagram back to a client. This seems not to be supported. The same code works just fine is the datagram payload is non-empty:

// MyProxy is a 'bound UDP' server
MyProxy extends Actor {

   ....

  def receive = {
    case res: ProxyResponse =>
      val rdata = encodeToBlob(res)
      socket ! Send(rdata, remote)             <-- works if rdata.size()>0, does not work for ByteString.empty and ByteString("")
  }

}


Would you agree that this is a bug? 

cheers,
felix

Endre Varga

unread,
Apr 28, 2015, 5:13:05 AM4/28/15
to akka...@googlegroups.com
Hi Felix,

I just opened a ticket: https://github.com/akka/akka/issues/17325

We need to check if it is possible to reliably distinguish zero length UDP datagrams with NIO though

-Endre

--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to akka-user+...@googlegroups.com.
To post to this group, send email to akka...@googlegroups.com.
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

hd471...@gmail.com

unread,
Apr 28, 2015, 10:09:53 AM4/28/15
to akka...@googlegroups.com
Thanks!! The blocking io api definitely allows this (I checked it before posting my original post), it results in a datagram consisting only of the 8 UDP header bytes. For nio it seems impossible to tell if passing the datagram to the system buffer actually worked... 
Reply all
Reply to author
Forward
0 new messages