package pgproto3
import (
"encoding/binary"
"encoding/json"
"github.com/jackc/pgx/v5/internal/pgio"
)
type BackendKeyData struct {
ProcessID uint32
SecretKey uint32
}
func (*BackendKeyData ) Backend () {}
func (dst *BackendKeyData ) Decode (src []byte ) error {
if len (src ) != 8 {
return &invalidMessageLenErr {messageType : "BackendKeyData" , expectedLen : 8 , actualLen : len (src )}
}
dst .ProcessID = binary .BigEndian .Uint32 (src [:4 ])
dst .SecretKey = binary .BigEndian .Uint32 (src [4 :])
return nil
}
func (src *BackendKeyData ) Encode (dst []byte ) []byte {
dst = append (dst , 'K' )
dst = pgio .AppendUint32 (dst , 12 )
dst = pgio .AppendUint32 (dst , src .ProcessID )
dst = pgio .AppendUint32 (dst , src .SecretKey )
return dst
}
func (src BackendKeyData ) MarshalJSON () ([]byte , error ) {
return json .Marshal (struct {
Type string
ProcessID uint32
SecretKey uint32
}{
Type : "BackendKeyData" ,
ProcessID : src .ProcessID ,
SecretKey : src .SecretKey ,
})
}
The pages are generated with Golds v0.6.7 . (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu .
PR and bug reports are welcome and can be submitted to the issue list .
Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds .