草庐IT

repl-buffer

全部标签

c# - Google Protocol Buffers - 固定大小的缓冲区?

使用GoogleProtocolBuffers,我可以为我编码的所有消息设置最大大小吗?如果我知道我编码的内容永远不会大于X字节,那么GoogleProtobuffs将始终生成一个大小为Y的缓冲区,如果我给它的数据量较小,则将其填充到大小Y? 最佳答案 protocolbuffers的有线格式不会使这变得微不足道;我不知道有什么办法可以做到这一点,但一种选择是使用您自己的长度header将其序列化到缓冲区中,并根据需要填充额外数据。您需要添加一个长度前缀,因为默认情况下不添加,否则它会在您的缓冲区末尾读取垃圾。即使尾随0也不合法(它

c# - 如何从 Protocol Buffers .NET 代码生成 .proto 文件?

那么,如果我们的类在文件夹中具有属性,那么如何从中生成.proto标记文件(例如获取C++代码)? 最佳答案 “具有属性的类”是指适合protobuf-net的属性吗?如果是这样,protobuf-net有一个GetProto方法,它将提供基于根类型的模式:stringproto=Serializer.GetProto();尽管有相反的传言,但v2中的这个方法已经重新实现了很长一段时间。 关于c#-如何从ProtocolBuffers.NET代码生成.proto文件?,我们在StackO

c++ - Protocol Buffer : how nested (custom) optional fields are to be handled in C++?

读入ProtocolBufferBasics:C++,没有找到符合情况的东西:;以下.proto处理--cpp_out,messageA{requiredint32foo=1;}messageB{optionalAdata=1;}没有生成明显的访问器/setter来设置自定义可选字段(包括我懒得放在这里的“嵌套类型”部分)://accessors-------------------------------------------------------//optional.A=1;inlineboolhas_a()const;inlinevoidclear_a();staticcon

c++ - Google Protocol Buffers C++ 实现在面对恶意数据时的稳定性和安全性

对于使用GoogleProtocolBuffersC++实现的人来说,它如何处理恶意或格式错误的消息?例如,它会崩溃还是继续运行?我的应用程序肯定会在某个时候收到恶意数据,我不希望每次收到格式错误的消息时它都崩溃。这是我在这个问题上能找到的唯一答案(googlemailinglist)。Therewasareviewspecificallyforsecurityissuesbeforethecodewasreleased.ForatleasttheC++andJavaimplementations,therearevarioussafeguardstoprotectagainstcor

c++ - Protocol Buffers (protobuf) v3.0.0-alpha-2 中的可选字段和约束

我目前正在使用Google的v3.0.0-alpha-2ProtocolBuffers.据我所知,v3删除了required关键字,extensions字段的关键字和默认值以简化原型(prototype)语言。我不理解的是proto3中optional关键字的含义。示例:syntax="proto3";packagefw.example;messageExampleMessage{optionalstringoptional_string=1;stringnormal_string=2;}问题:optional_string和normal_string有什么区别除了名称和标签?我已经阅

c++ - 如何将 boost beast multi_buffer 转换为字符串?

我从boost::beast网站复制websocket示例并运行它Websocketsession工作正常但我不知道如何将接收到的multi_buffer转换为字符串。下面的代码是websocketsession处理程序。voiddo_session(tcp::socket&socket){try{//Constructthestreambymovinginthesocketwebsocket::streamws{std::move(socket)};//Acceptthewebsockethandshakews.accept();while(true){//Thisbufferwil

C++,OpenGL Z-buffer prepass

我正在制作一个简单的体素引擎(想想Minecraft),目前正处于摆脱被遮挡的面孔以获得一些宝贵的fps的阶段。我在OpenGL方面的经验不多,也不太了解glColorMask魔法的工作原理。这是我的://newandshinyglClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);//thisonegoeswithoutsayingglEnable(GL_DEPTH_TEST);//Iwanttoseemycodeworking,sofillthemaskglPolygonMode(GL_FRONT_AND_BACK,GL_FILL);//f

c++ - *(int*)(buffer) 是什么意思?

在我正在阅读的C++代码中,发现了以下内容。谁能帮我理解以下语句的作用?charbuffer[4096];//somecodeintsize=*(int*)(buffer); 最佳答案 charbuffer[4096];//thisisanarrayof4096characters//somecodeintsize=*(int*)(buffer);会将(衰减的)字符指针(即buffer)转换为整数指针。然后取消引用它以获得一个整数值。您从中获得的整数值将由buffer数组的前4个字符值组成,假设int的大小在您的机器中为4个字节,或

objective-c - 如何使用 Objective C/iOS 5 SDK 安装 Protocol Buffer ?

有谁知道如何让ProtocolBuffer与最新版本的iOSSDK一起工作?我尝试了此处给出的说明:http://code.google.com/p/metasyntactic/wiki/ProtocolBuffers我已成功安装“protoc”并使用它成功编译了Objective-C输出文件,但它告诉您列为依赖项的项目已过时,我在尝试构建我的应用程序时遇到错误。或者,有没有人知道如何使项目与最新版本的SDK兼容? 最佳答案 你可以找到相关的IOS5arcenabledportifmetasyntacticprotobufhttps

ios - HTTP 直播。 "Skipping autoplay, not enough buffered to keep up."

在新的iOS6中,我开始遇到MPAVController的奇怪行为。我的应用程序通过HTTPLiveStreaming从服务器接收视频。现在我经常看到这样的消息:[MPAVController]Autoplay:Disablingautoplay[MPAVController]Autoplay:Enablingautoplay[MPAVController]Autoplay:Likelytokeepuporfullbuffer:0[MPAVController]Autoplay:Skippingautoplay,notenoughbufferedtokeepup.[MPCloudAss