[jira] [Resolved] (PROTON-736) ruby: unable to send binary data?
[ https://issues.apache.org/jira/browse/PROTON-736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darryl L. Pierce resolved PROTON-736. - Resolution: Fixed > ruby: unable to send binary data? > - > > Key: PROTON-736 > URL: https://issues.apache.org/jira/browse/PROTON-736 > Project: Qpid Proton > Issue Type: Bug > Components: ruby-binding >Affects Versions: 0.8 >Reporter: Dominic Evans >Assignee: Darryl L. Pierce > Fix For: 0.9 > > Attachments: > 0001-PROTON-736-Created-the-UTFString-and-BinaryString-cl.patch, > 0001-PROTON-736-Default-Ruby-1.8-encoding-to-be-binary-un.patch, > 0001-PROTON-736-Ruby-Message-does-not-return-all-content.patch, > 0002-PROTON-736-Only-encode-Ruby-strings-as-UTF-8-if-it-s.patch > > > As discussed on irc with [~mcpierce] > I've not been able to determine how I can correctly send binary data using > the ruby gem. > From proton-c I can do this by (e.g.,) > {{ > char* msgdata = Buffer::Data(buffer); > size_t msglen = Buffer::Length(buffer); > pn_message_set_format(msg->message, PN_DATA); > pn_message_load_data(msg->message, msgdata, msglen); > }} > and I assumed I might be able to do similar from Ruby by (e.g.,) > {{ > data = File.binread(filename) > msg.format = Qpid::Proton::MessageFormat::DATA > msg.content = data > }} > But Ruby is reading the data into a string and the SWIG binding is still > expecting a byte* array here. > After our discussions on IRC I also investigated doing: > {{ > filedata = File.binread(filename) > data = Qpid::Proton::Data.new > data.binary = filedata > msg.body = data > }} > but didn't have any luck with this approach either. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (PROTON-736) ruby: unable to send binary data?
[ https://issues.apache.org/jira/browse/PROTON-736?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Darryl L. Pierce resolved PROTON-736. - Resolution: Fixed Fix Version/s: 0.9 > ruby: unable to send binary data? > - > > Key: PROTON-736 > URL: https://issues.apache.org/jira/browse/PROTON-736 > Project: Qpid Proton > Issue Type: Bug > Components: ruby-binding >Affects Versions: 0.8 >Reporter: Dominic Evans >Assignee: Darryl L. Pierce > Fix For: 0.9 > > Attachments: > 0001-PROTON-736-Ruby-Message-does-not-return-all-content.patch, > 0002-PROTON-736-Only-encode-Ruby-strings-as-UTF-8-if-it-s.patch > > > As discussed on irc with [~mcpierce] > I've not been able to determine how I can correctly send binary data using > the ruby gem. > From proton-c I can do this by (e.g.,) > {{ > char* msgdata = Buffer::Data(buffer); > size_t msglen = Buffer::Length(buffer); > pn_message_set_format(msg->message, PN_DATA); > pn_message_load_data(msg->message, msgdata, msglen); > }} > and I assumed I might be able to do similar from Ruby by (e.g.,) > {{ > data = File.binread(filename) > msg.format = Qpid::Proton::MessageFormat::DATA > msg.content = data > }} > But Ruby is reading the data into a string and the SWIG binding is still > expecting a byte* array here. > After our discussions on IRC I also investigated doing: > {{ > filedata = File.binread(filename) > data = Qpid::Proton::Data.new > data.binary = filedata > msg.body = data > }} > but didn't have any luck with this approach either. -- This message was sent by Atlassian JIRA (v6.3.4#6332)