diff options
author | Joshua Haberman <joshua@reverberate.org> | 2010-06-03 12:07:07 -0700 |
---|---|---|
committer | Joshua Haberman <joshua@reverberate.org> | 2010-06-03 12:07:07 -0700 |
commit | a484ea0275f4d451d881b4edb1e1e4ae93be42a7 (patch) | |
tree | 76f152fc5091fb3fa012633f416828e33279ca9f /src/upb_decoder.h | |
parent | 0034e6fdb82b7e0623983f44ba4fc1c98393d032 (diff) |
WIP: intrusive changes to upb_decoder.
Diffstat (limited to 'src/upb_decoder.h')
-rw-r--r-- | src/upb_decoder.h | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/src/upb_decoder.h b/src/upb_decoder.h index b84c149..ea20d3d 100644 --- a/src/upb_decoder.h +++ b/src/upb_decoder.h @@ -39,15 +39,11 @@ void upb_decoder_free(upb_decoder *p); // state where it has not seen any data, and expects the next data to be from // the beginning of a new protobuf. Parsers must be reset before they can be // used. A decoder can be reset multiple times. -void upb_decoder_reset(upb_decoder *p, upb_sink *sink); - -// Decodes protobuf data out of str, returning how much data was decoded. The -// next call to upb_decoder_decode should begin with the first byte that was -// not decoded. "status" indicates whether an error occurred. -// -// TODO: provide the following guarantee: -// retval will always be >= len. -size_t upb_decoder_decode(upb_decoder *p, upb_strptr str, upb_status *status); +void upb_decoder_reset(upb_decoder *p, upb_bytesrc *bytesrc); + +// Returns a upb_src pointer by which the decoder can be used. The returned +// upb_src is invalidated by upb_decoder_reset(). +upb_src *upb_decoder_getsrc(upb_decoder *p); #ifdef __cplusplus } /* extern "C" */ |