From a484ea0275f4d451d881b4edb1e1e4ae93be42a7 Mon Sep 17 00:00:00 2001 From: Joshua Haberman Date: Thu, 3 Jun 2010 12:07:07 -0700 Subject: WIP: intrusive changes to upb_decoder. --- src/upb_decoder.h | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/upb_decoder.h') 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" */ -- cgit v1.2.3