Wire Sysio Wire Sysion 1.0.0
Loading...
Searching...
No Matches
variant_stream.hpp
Go to the documentation of this file.
1#pragma once
2
3namespace fc
4{
5
11 {
12 public:
13 variant_stream( size_t s );
15
17 int64_t free(); // number of spaces available
20 int64_t wait_free(); // wait for free space
21
22 // producer/consumer api
24
26 int64_t begin(); // returns the first index ready to be read
27 int64_t end(); // returns the first index that cannot be read
28 int64_t wait(); // wait for variants to be posted
29
30 private:
31 std::vector<fc::variant> _variants;
32 uint64_t _read_pos;
33 uint64_t _write_pos;
34 };
35
36}
int64_t claim(int64_t num)
int64_t publish(int64_t pos)
variant & get(int64_t pos)
variant_stream(size_t s)
stores null, int64, uint64, double, bool, string, std::vector<variant>, and variant_object's.
Definition variant.hpp:191
namespace sysio::chain
Definition authority.cpp:3
signed __int64 int64_t
Definition stdint.h:135
unsigned __int64 uint64_t
Definition stdint.h:136
char * s