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;
}

Див. також

[ред.|ред. код]

Примітки

[ред.|ред. код]
  1. Why not just use XML?[Архівовано22 жовтня 2010 уWayback Machine.](англ.)

Посилання

[ред.|ред. код]