Re: creating stream

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/21/2017 12:12 PM, Vasiliy Tolstov wrote:
2017-04-20 21:14 GMT+03:00 Vasiliy Tolstov <v.tolstov@xxxxxxxxx>:
I found , so i can decode all typed params to map[string]interface{} thanks!


I'm try to add support for DomainOpenConsole and don't understand
underline payload:
https://gist.github.com/vtolstov/f8a0f80de82100440b1c0e824436be5a

I'm not handmade this data, i'm use generator from remote_protocol.x
to get request struct.
If i compare to virsh payload i see , that payload size different.
Virsh send 80 byte payload, but i send only 76.
https://gist.github.com/vtolstov/56344b8ce309f54441f2dbce851f6b59

type RemoteDomainOpenConsoleReq struct {
  Domain  *RemoteDomain
  DevName string
  Flags   uint32
}

If i add to generated struct 4 empty bytes, and change order of
variables inside all works fine, but flags not passed (because it
shifted). But payload looks ok. So my question - what i miss in this
specific case? (P.S. DomainScreenshot that have identical parts of
call and workflow works fine for me using generated structs)

type RemoteDomainOpenConsoleReq struct {
  Domain  *RemoteDomain
Flags  uint32
  DevName string
  Flags2   uint32
}



That's how strings are encoded in RPC. the first four bytes say how long the string is followed by N bytes (padded to 4 bytes boundary) of the actual string.

Michal

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]
  Powered by Linux