Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

Why didn't SerializationTraits get its own specialized version?

28 views
Skip to first unread message

xing franics

unread,
Sep 9, 2023, 12:50:23 AM9/9/23
to grpc.io
Problem

I wanted to use SerializationTraits to write a demo, but found that I didn't use my own specialized version. Which step am I missing?

Code
  • greeter.proto
syntax = "proto3"; package greeter; option go_package = "greeterproto"; message RequestProto { string name = 1; } message ResponseProto { string message = 1; } service Greeter { rpc Greet(RequestProto) returns (ResponseProto); }
  • serialization.h
#ifndef GREETER_CPP_SERIALIZATION_H
#define GREETER_CPP_SERIALIZATION_H

#include <grpcpp/impl/serialization_traits.h>
namespace grpc {
template <>
class SerializationTraits<greeter::RequestProto> {
 public:
  static Status Serialize(const greeter::RequestProto& msg, ByteBuffer* bp,
                          bool* own_buffer) {
    std::cout << "TODO: Implement";
    return Status();
  }
  static Status Deserialize(ByteBuffer* buffer, greeter::RequestProto* msg) {
    std::cout << "TODO: Implement";
    return Status();
  }
};

template <>
class SerializationTraits<greeter::ResponseProto> {
 public:
  static Status Serialize(const greeter::ResponseProto& msg, ByteBuffer* bp,
                          bool* own_buffer) {
    std::cout << "TODO: Implement";
    return Status();
  }
  static Status Deserialize(ByteBuffer* buffer, greeter::ResponseProto* msg) {
    std::cout << "TODO: Implement";
    return Status();
  }

};
}  // namespace grpc

#endif  // GREETER_CPP_SERIALIZATION_H


Reply all
Reply to author
Forward
0 new messages