func (s *MexSocket) Read(mex message.Message) (int, error) { if s.IsClosed() { return 0, errors.New("Impossible to read from closed socket") } //read bytes bytes, n, err := s.ReadBytes() if err != nil { return n, err } //build a message from the byte read err = mex.FromByteArray(bytes) return n, err }