Difference between revisions of "ProtocolBuffer"
From Makers Local 256
m (→Todo: default is now implemented for required and optional types and throws an error on repeated types) |
(add a section about options. deprecated is now a supported option) |
||
Line 7: | Line 7: | ||
==Overview== | ==Overview== | ||
ProtocolBuffer is a D library encompassing the basic tools required to compile .proto definition files into code and additional functions that are used by the resulting source file. The [http://opticron.no-ip.org/svn/branches/ProtocolBuffer backend library] is separated from the [http://opticron.no-ip.org/svn/branches/PBCompiler definition compiler] for now, but those may merge in the future. | ProtocolBuffer is a D library encompassing the basic tools required to compile .proto definition files into code and additional functions that are used by the resulting source file. The [http://opticron.no-ip.org/svn/branches/ProtocolBuffer backend library] is separated from the [http://opticron.no-ip.org/svn/branches/PBCompiler definition compiler] for now, but those may merge in the future. | ||
+ | |||
+ | ==Options== | ||
+ | At the moment, only a handful of options are supported and all others will be ignored. Options are not currently accessible at runtime. Supported options are deprecated and default. | ||
==Todo== | ==Todo== | ||
Line 13: | Line 16: | ||
* support options | * support options | ||
** packed is only supported on repeated fields of a primitive type | ** packed is only supported on repeated fields of a primitive type | ||
− | |||
− | |||
* support imports (yeah, I know, I'm lame for not already supporting this) | * support imports (yeah, I know, I'm lame for not already supporting this) | ||
* support extensions (this is going to suck) | * support extensions (this is going to suck) |
Revision as of 15:18, 18 July 2009
Creator: |
Overview
ProtocolBuffer is a D library encompassing the basic tools required to compile .proto definition files into code and additional functions that are used by the resulting source file. The backend library is separated from the definition compiler for now, but those may merge in the future.
Options
At the moment, only a handful of options are supported and all others will be ignored. Options are not currently accessible at runtime. Supported options are deprecated and default.
Todo
- do accessors properly and correct function names (and add additional functions)
- implement message merging (it already works on the bytestream level, so I may just use that, even though it is less efficient)
- support options
- packed is only supported on repeated fields of a primitive type
- support imports (yeah, I know, I'm lame for not already supporting this)
- support extensions (this is going to suck)
- support services (this may not happen at all)