Bluetooth, Wifi Direct, HTTP request/responses via broken proxies, smoke
signals... basically anything that is a stream rather than a file.
Right, NFC NDEF and QR codes are not affected, so we can skip the
delimiter for these mediums.
On 01/26/2014 10:24 PM, Mike Hearn wrote:
> Which medium is this an issue for? As you note, for files and HTTP
> responses it's not a problem in practice. i'd guess nor for NFC tags nor
> QR codes.
>
>
> On Sun, Jan 26, 2014 at 10:11 PM, Andreas Schildbach
> <mailto:Bitcoin-development@lists.sourceforge.net>> <andreas@schildbach.de <mailto:andreas@schildbach.de>> wrote:
>
> I'm experimenting with BIP70/71 (payment protocol) usage in face to face
> payments (more on that soon).
>
> I've excountered an issue with the protobuf format. Protobufs are not
> self-delimiting. That means if you're reading from an undelimited
> stream, you will read endlessly because you don't know how much to read.
>
> The current BIP70 implementations probably work because they're reading
> either from a file or from an HTTP resource which sets the
> Content-Length header. Trouble is the Content-Length header is optional,
> and also there are many kinds of streams that don't have this built-in
> delimiting mechanism.
>
> The Java protobuf API solves this by offering delimited I/O, like
>
> payment.writeDelimitedTo(os);
>
> This writes the size of the message as a varint before writing the data.
> I don't know about protobuf implementations for other languages but I'd
> expect them to offer something compatible.
>
> However, this leading varint is an incompatible change and would need to
> be added to the spec.
>
> I specifically encountered this with PaymentMessage and PaymentACK, but
> it might be a good idea to apply this to all messages if any. Open for
> discussion.
>
>
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>
>
>
> ------------------------------------------------------------------------------
> CenturyLink Cloud: The Leader in Enterprise Cloud Services.
> Learn Why More Businesses Are Choosing CenturyLink Cloud For
> Critical Workloads, Development Environments & Everything In Between.
> Get a Quote or Start a Free Trial Today.
> http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
>
>
>
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development