Thrift 服务器访问未序列化的数据

Thrift server access unserialized data

thrift 服务器是否可能不反序列化消息,但它会提供对该数据的访问权限,以便我可以保存它并获取以供以后发送? 准确地说。 我有 IDL 和服务

void sendStructA(StructA)

struct StructA
{
  1:  string string_thing,
  4:  byte   byte_thing,
  9:  i32    i32_thing,
  11: i64    i64_thing
}

并生成客户端和服务器..服务器有接口所以我在服务器端有代码

void sendStructA(StructA s)
{
      // do something
}

但我不想要 s 类型的 StructA。我需要在将其反序列化为 StructA 之前捕获该结构。即选择了 TJSON 协议。它应该能让我访问 json

是的,因为 Thrift 是一个 RPC 和序列化框架。代码中有几个示例,查找 "serializer"。基本思想是设置一个流传输或类似的和 protocol.Write()protocol.Read() 进出该流,如 shown here

前后如何处理数据完全取决于您。例如,您可以将数据发送到服务器,或者对其进行处理,或者直接将其丢弃。