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.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(англ.)
- Репозиторій на GitHub[Архівовано15 березня 2015 уWayback Machine.](англ.)