Skip to content

Commit

Permalink
export pair marshalling (#60)
Browse files Browse the repository at this point in the history
  • Loading branch information
kyessenov authored Sep 10, 2020
1 parent 0a1fcd4 commit 772c557
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 2 deletions.
5 changes: 5 additions & 0 deletions include/proxy-wasm/exports.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,11 @@ extern thread_local ContextBase *current_context_;

namespace exports {

template <typename Pairs> size_t pairsSize(const Pairs &result);
template <typename Pairs> void marshalPairs(const Pairs &result, char *buffer);
template <typename Pairs>
bool getPairs(ContextBase *context, const Pairs &result, uint64_t ptr_ptr, uint64_t size_ptr);

// ABI functions exported from envoy to wasm.

Word get_configuration(void *raw_context, Word address, Word size);
Expand Down
4 changes: 2 additions & 2 deletions src/exports.cc
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@ Pairs toPairs(std::string_view buffer) {
return result;
}

} // namespace

template <typename Pairs> size_t pairsSize(const Pairs &result) {
size_t size = 4; // number of headers
for (auto &p : result) {
Expand Down Expand Up @@ -115,8 +117,6 @@ bool getPairs(ContextBase *context, const Pairs &result, uint64_t ptr_ptr, uint6
return true;
}

} // namespace

// General ABI.

Word set_property(void *raw_context, Word key_ptr, Word key_size, Word value_ptr, Word value_size) {
Expand Down

0 comments on commit 772c557

Please sign in to comment.