// See the License for the specific language governing permissions and
// limitations under the License.
-package core
+package codec
import (
"bytes"
"fmt"
"reflect"
- "github.com/lunixbochs/struc"
- logger "github.com/sirupsen/logrus"
-
"git.fd.io/govpp.git/api"
+ "github.com/lunixbochs/struc"
)
// MsgCodec provides encoding and decoding functionality of `api.Message` structs into/from
}
err := struc.Pack(buf, header)
if err != nil {
- log.WithFields(logger.Fields{
- "error": err,
- "header": header,
- }).Error("Unable to encode the message header: ", err)
- return nil, fmt.Errorf("unable to encode the message header: %v", err)
+ return nil, fmt.Errorf("unable to encode message: header: %v, error %v", header, err)
}
// encode message content
if reflect.Indirect(reflect.ValueOf(msg)).NumField() > 0 {
err := struc.Pack(buf, msg)
if err != nil {
- log.WithFields(logger.Fields{
- "error": err,
- "message": msg,
- }).Error("Unable to encode the message: ", err)
- return nil, fmt.Errorf("unable to encode the message: %v", err)
+ return nil, fmt.Errorf("unable to encode message: header %v, error %v", header, err)
}
}
// decode message header
err := struc.Unpack(buf, header)
if err != nil {
- log.WithFields(logger.Fields{
- "error": err,
- "data": data,
- }).Error("Unable to decode header of the message.")
- return fmt.Errorf("unable to decode the message header: %v", err)
+ return fmt.Errorf("unable to decode message: data %v, error %v", data, err)
}
// get rid of the message header
// decode message content
err = struc.Unpack(buf, msg)
if err != nil {
- log.WithFields(logger.Fields{
- "error": err,
- "data": buf,
- }).Error("Unable to decode the message.")
- return fmt.Errorf("unable to decode the message: %v", err)
+ return fmt.Errorf("unable to decode message: data %v, error %v", data, err)
}
return nil