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; }
Це компілюється за допомогою . Потім C++ програма може це використати якось так:
#include"polyline.pb.h" // згенеровано викликом protoc polyline.proto Line*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; }
- ↑ Why not just use XML? [Архівовано 22 жовтня 2010 у Wayback Machine.] (англ.)
- Сторінка protocol buffers [Архівовано 19 липня 2021 у Wayback Machine.] на code.google.com (англ.)
- Репозиторій на GitHub [Архівовано 15 березня 2015 у Wayback Machine.] (англ.)
