func (s *Span) write(w *typed.WriteBuffer) error { w.WriteUint64(s.traceID) w.WriteUint64(s.parentID) w.WriteUint64(s.spanID) w.WriteSingleByte(s.flags) return w.Err() }
// newWritableChunk creates a new writable chunk around a checksum and a buffer to hold data func newWritableChunk(checksum Checksum, contents *typed.WriteBuffer) *writableChunk { return &writableChunk{ size: 0, sizeRef: contents.DeferUint16(), checksum: checksum, contents: contents, } }
func (f *Frame) write(msg message) error { var wbuf typed.WriteBuffer wbuf.Wrap(f.Payload[:]) if err := msg.write(&wbuf); err != nil { return err } f.Header.ID = msg.ID() f.Header.messageType = msg.messageType() f.Header.SetPayloadSize(uint16(wbuf.BytesWritten())) return nil }
// WriteOut writes the frame to the given io.Writer func (f *Frame) WriteOut(w io.Writer) error { var wbuf typed.WriteBuffer wbuf.Wrap(f.headerBuffer) if err := f.Header.write(&wbuf); err != nil { return err } fullFrame := f.buffer[:f.Header.FrameSize()] if _, err := w.Write(fullFrame); err != nil { return err } return nil }
func (m *initMessage) write(w *typed.WriteBuffer) error { w.WriteUint16(m.Version) w.WriteUint16(uint16(len(m.initParams))) for k, v := range m.initParams { w.WriteLen16String(k) w.WriteLen16String(v) } return w.Err() }
func (m *callReq) write(w *typed.WriteBuffer) error { w.WriteUint32(uint32(m.TimeToLive.Seconds() * 1000)) m.Tracing.write(w) w.WriteLen8String(m.Service) m.Headers.write(w) return w.Err() }
func (ch callHeaders) write(w *typed.WriteBuffer) { w.WriteByte(byte(len(ch))) for k, v := range ch { w.WriteLen8String(k.String()) w.WriteLen8String(v) } }
func (fh *FrameHeader) write(w *typed.WriteBuffer) error { w.WriteUint16(fh.size) w.WriteSingleByte(byte(fh.messageType)) w.WriteSingleByte(fh.reserved1) w.WriteUint32(fh.ID) w.WriteBytes(fh.reserved[:]) return w.Err() }
func (m *errorMessage) write(w *typed.WriteBuffer) error { w.WriteByte(byte(m.errCode)) w.WriteUint32(m.id) w.WriteLen16String(m.message) return w.Err() }
func (m *callRes) write(w *typed.WriteBuffer) error { w.WriteByte(byte(m.ResponseCode)) m.Tracing.write(w) m.Headers.write(w) return w.Err() }
func (m *errorMessage) write(w *typed.WriteBuffer) error { w.WriteSingleByte(byte(m.errCode)) m.tracing.write(w) w.WriteLen16String(m.message) return w.Err() }