type PreparedMessage … type prepareKey … type preparedFrame … // NewPreparedMessage returns an initialized PreparedMessage. You can then send // it to connection using WritePreparedMessage method. Valid wire // representation will be calculated lazily only once for a set of current // connection options. func NewPreparedMessage(messageType int, data []byte) (*PreparedMessage, error) { … } func (pm *PreparedMessage) frame(key prepareKey) (int, []byte, error) { … } type prepareConn … func (pc *prepareConn) Write(p []byte) (int, error) { … } func (pc *prepareConn) SetWriteDeadline(t time.Time) error { … }