浏览代码

add register frame

Chris Bannister 10 年之前
父节点
当前提交
97953282d8
共有 1 个文件被更改,包括 15 次插入0 次删除
  1. 15 0
      frame.go

+ 15 - 0
frame.go

@@ -1408,6 +1408,21 @@ func (f *framer) writeOptionsFrame(stream int, _ *writeOptionsFrame) error {
 	return f.finishWrite()
 }
 
+type writeRegisterFrame struct {
+	events []string
+}
+
+func (w *writeRegisterFrame) writeFrame(framer *framer, streamID int) error {
+	return framer.writeRegisterFrame(streamID, w)
+}
+
+func (f *framer) writeRegisterFrame(streamID int, w *writeRegisterFrame) error {
+	f.writeHeader(f.flags, opRegister, streamID)
+	f.writeStringList(w.events)
+
+	return f.finishWrite()
+}
+
 func (f *framer) readByte() byte {
 	if len(f.rbuf) < 1 {
 		panic(fmt.Errorf("not enough bytes in buffer to read byte require 1 got: %d", len(f.rbuf)))