parse_complete.go (937B)
1 package pgproto3 2 3 import ( 4 "encoding/json" 5 ) 6 7 type ParseComplete struct{} 8 9 // Backend identifies this message as sendable by the PostgreSQL backend. 10 func (*ParseComplete) Backend() {} 11 12 // Decode decodes src into dst. src must contain the complete message with the exception of the initial 1 byte message 13 // type identifier and 4 byte message length. 14 func (dst *ParseComplete) Decode(src []byte) error { 15 if len(src) != 0 { 16 return &invalidMessageLenErr{messageType: "ParseComplete", expectedLen: 0, actualLen: len(src)} 17 } 18 19 return nil 20 } 21 22 // Encode encodes src into dst. dst will include the 1 byte message type identifier and the 4 byte message length. 23 func (src *ParseComplete) Encode(dst []byte) []byte { 24 return append(dst, '1', 0, 0, 0, 4) 25 } 26 27 // MarshalJSON implements encoding/json.Marshaler. 28 func (src ParseComplete) MarshalJSON() ([]byte, error) { 29 return json.Marshal(struct { 30 Type string 31 }{ 32 Type: "ParseComplete", 33 }) 34 }