Why didn't SerializationTraits get its own specialized version?

17 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