2012-03-08 2 views

ответ

1

Похоже, что ответ «еще нет». Одна из проблем, с которой вы столкнетесь, заключается в том, что бережливость определяет полную систему RPC с вызовами служб и методов, в то время как protobuf действительно фокусируется на типах данных и битах сериализации. Модель данных Trrift немного ограничена, чем protobuf (без рекурсивных структур и т. Д.), Но это не должно быть проблемой в направлении бережливости -> protobuf.

Несомненно, вы могли бы легко преобразовать все типы данных бережливости в определения protobuf, игнорируя полностью сервисную секцию. Вы могли бы добавить что-то подобное в качестве встроенного генератора в компилятор бережливости, если хотите.

Транспортировка и Протобуф не являются взаимозаменяемыми. Посмотрите на Biggest differences of Thrift vs Protocol Buffers?, чтобы увидеть некоторые ключевые отличия. Что именно вы пытаетесь достичь?

0

не думаю есть. Если вы хотите написать код для этого, вы можете написать генератор языка, который создает файлы .thrift для вас.

Вы можете написать инструмент на любом языке (я написал в C++ в protobuf-j2me [1] и адаптировал код protobuf-csharp-port в [2]).

Вы можете protoc.exe назвать это нравится:

protoc.exe --plugin=protoc-gen-thrift.exe --thrift_out=. file.proto 

Вы должны назвать его как protoc-gen-thrift.exe сделать --thrift_out вариантом.

[1] https://github.com/igorgatis/protobuf-j2me

[2] https://github.com/jskeet/protobuf-csharp-port/blob/6ac38bf84452f1f9bd3df59a276708725be2ed49/src/ProtoGen/ProtocGenCs.cs