本文整理汇总了Golang中github.com/uber/tchannel-go/typed.WriteBuffer类的典型用法代码示例。如果您正苦于以下问题:Golang WriteBuffer类的具体用法?Golang WriteBuffer怎么用?Golang WriteBuffer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WriteBuffer类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: write
func (s *Span) write(w *typed.WriteBuffer) error {
w.WriteUint64(s.spanID)
w.WriteUint64(s.parentID)
w.WriteUint64(s.traceID)
w.WriteSingleByte(s.flags)
return w.Err()
}
示例2: writeHeaders
func writeHeaders(w *typed.WriteBuffer, headers map[string]string) {
w.WriteSingleByte(byte(len(headers))) // number of headers
for k, v := range headers {
w.WriteLen8String(k)
w.WriteLen8String(v)
}
}
示例3: newWritableChunk
// 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,
}
}
示例4: writeHeaders
func writeHeaders(wb *typed.WriteBuffer, form http.Header) {
numHeadersDeferred := wb.DeferUint16()
numHeaders := uint16(0)
for k, values := range form {
for _, v := range values {
wb.WriteLen16String(k)
wb.WriteLen16String(v)
numHeaders++
}
}
numHeadersDeferred.Update(numHeaders)
}
示例5: write
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
}
示例6: WriteOut
// 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
}
示例7: write
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()
}
示例8: write
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()
}
示例9: writeVarintString
func writeVarintString(wb *typed.WriteBuffer, s string) {
wb.WriteUvarint(uint64(len(s)))
wb.WriteString(s)
}