srpc icon indicating copy to clipboard operation
srpc copied to clipboard

有2层namespace时,生成代码出错

Open longyn opened this issue 1 week ago • 3 comments

  • define.thrift
namespace cpp Net.Ping

struct PingData
{
  1: i32 src = 0;
  2: i32 dst;
  3: i32 payload;
}
  • ping.thrift
include "define.thrift"
// namespace of cpp code
namespace cpp Net.Ping

typedef define.PingData SPingData_t;

service TPingService
{
  void ping();

  i32 payload(1: define.PingData data);
}

生成代码如下:

  • ping.thrift.h
#pragma once
#include "srpc/rpc_thrift_idl.h"
#include "define.thrift.h"

namespace Net
{

namespace Ping
{

typedef Net::PingData SPingData_t;;
...

代码生成应为Net::Ping::PingData, 实际为Net::PingData, 只取了第一层namespace

longyn avatar Jun 25 '24 03:06 longyn