Protocol Buffers
Інструменти
Загальний
Друк/експорт
В інших проєктах
Protocol Buffers — форматсеріалізації даних, запропонований корпорацієюGoogle, як альтернативаXML. Оригінальна реалізація Google дляC++,Java таPython доступна підвільною ліцензією. Google стверджує, щоprotocol buffers в декілька раз збільшує швидкістьобробки даних та суттєво зменшує обсяги передаваної інформації[1].
messagePoint{requiredint32x=1;requiredint32y=2;optionalstringlabel=3;}messageLine{requiredPointstart=1;requiredPointend=2;optionalstringlabel=3;}messagePolyline{repeatedPointpoint=1;optionalstringlabel=2;}
Це компілюється за допомогоюprotoc. Потім C++ програма може це використати якось так:
#include"polyline.pb.h" // згенеровано викликом protoc polyline.protoLine*createNewLine(conststd::string&name){Line*line=newLine;line->mutable_start()->set_x(10);line->mutable_start()->set_y(20);line->mutable_end()->set_x(30);line->mutable_end()->set_y(40);line->set_label(name);returnline;}Polyline*createNewPolyline(){Polyline*polyline=newPolyline;Point*point1=polyline->add_point();point1->set_x(10);point1->set_y(10);Point*point2=polyline->add_point();point2->set_x(10);point2->set_y(10);returnpolyline;}