// Write writes an Envelope to the given writer. func Write(p protocol.Protocol, w io.Writer, seqID int32, e Enveloper) error { body, err := e.ToWire() if err != nil { return err } return p.EncodeEnveloped(wire.Envelope{ SeqID: seqID, Name: e.MethodName(), Type: e.EnvelopeType(), Value: body, }, w) }