summaryrefslogtreecommitdiffstats
path: root/fnet
diff options
context:
space:
mode:
authorHaavard <havardpe@yahoo-inc.com>2017-01-18 12:37:55 +0000
committerHaavard <havardpe@yahoo-inc.com>2017-01-18 12:37:55 +0000
commit5e83ff6b0948952ca51a6db7933db2ca79a04f2b (patch)
tree2d2e3162e4c85e85790b255d360b93944201fc85 /fnet
parentef9033dd9a84a6b6dca1b5fb7e39c71f02c4c8bf (diff)
let FRT_Values use reference to stash
Diffstat (limited to 'fnet')
-rw-r--r--fnet/src/tests/frt/rpc/invoke.cpp2
-rw-r--r--fnet/src/tests/frt/values/values_test.cpp16
-rw-r--r--fnet/src/vespa/fnet/frt/rpcrequest.cpp4
-rw-r--r--fnet/src/vespa/fnet/frt/values.cpp58
-rw-r--r--fnet/src/vespa/fnet/frt/values.h4
5 files changed, 42 insertions, 42 deletions
diff --git a/fnet/src/tests/frt/rpc/invoke.cpp b/fnet/src/tests/frt/rpc/invoke.cpp
index c8ae0fbedd4..77ded20acf4 100644
--- a/fnet/src/tests/frt/rpc/invoke.cpp
+++ b/fnet/src/tests/frt/rpc/invoke.cpp
@@ -121,7 +121,7 @@ public:
void Init(FRT_Supervisor *supervisor)
{
_echo_stash = new vespalib::Stash();
- _echo_args = new FRT_Values(_echo_stash);
+ _echo_args = new FRT_Values(*_echo_stash);
assert(_echo_stash != nullptr && _echo_args != nullptr);
FRT_ReflectionBuilder rb(supervisor);
diff --git a/fnet/src/tests/frt/values/values_test.cpp b/fnet/src/tests/frt/values/values_test.cpp
index 28220f6d1d2..f5d17d4d7ca 100644
--- a/fnet/src/tests/frt/values/values_test.cpp
+++ b/fnet/src/tests/frt/values/values_test.cpp
@@ -163,13 +163,13 @@ void checkValues(FRT_Values &v1, FRT_Values &v2) {
EXPECT_TRUE(v2.Equals(&v1));
}
-TEST_FF("set and get", Stash(), FRT_Values(&f1)) {
+TEST_FF("set and get", Stash(), FRT_Values(f1)) {
fillValues(f2);
checkValues(f2);
}
-TEST_FFFF("encode/decode big endian", Stash(), FRT_Values(&f1),
- FNET_DataBuffer(), FRT_Values(&f1))
+TEST_FFFF("encode/decode big endian", Stash(), FRT_Values(f1),
+ FNET_DataBuffer(), FRT_Values(f1))
{
fillValues(f2);
f2.EncodeBig(&f3);
@@ -178,8 +178,8 @@ TEST_FFFF("encode/decode big endian", Stash(), FRT_Values(&f1),
checkValues(f2, f4);
}
-TEST_FFFF("encode/decode host endian", Stash(), FRT_Values(&f1),
- FNET_DataBuffer(), FRT_Values(&f1))
+TEST_FFFF("encode/decode host endian", Stash(), FRT_Values(f1),
+ FNET_DataBuffer(), FRT_Values(f1))
{
fillValues(f2);
f2.EncodeCopy(&f3);
@@ -188,8 +188,8 @@ TEST_FFFF("encode/decode host endian", Stash(), FRT_Values(&f1),
checkValues(f2, f4);
}
-TEST_FFFF("decode little if host is little", Stash(), FRT_Values(&f1),
- FNET_DataBuffer(), FRT_Values(&f1))
+TEST_FFFF("decode little if host is little", Stash(), FRT_Values(f1),
+ FNET_DataBuffer(), FRT_Values(f1))
{
if (FNET_Info::GetEndian() == FNET_Info::ENDIAN_LITTLE) {
fprintf(stderr, "little endian detected...\n");
@@ -203,7 +203,7 @@ TEST_FFFF("decode little if host is little", Stash(), FRT_Values(&f1),
}
}
-TEST_FF("print values", Stash(), FRT_Values(&f1)) {
+TEST_FF("print values", Stash(), FRT_Values(f1)) {
fillValues(f2);
f2.Print();
}
diff --git a/fnet/src/vespa/fnet/frt/rpcrequest.cpp b/fnet/src/vespa/fnet/frt/rpcrequest.cpp
index c68969d782f..0232887724b 100644
--- a/fnet/src/vespa/fnet/frt/rpcrequest.cpp
+++ b/fnet/src/vespa/fnet/frt/rpcrequest.cpp
@@ -8,8 +8,8 @@
FRT_RPCRequest::FRT_RPCRequest()
: _stash(),
_context(),
- _params(&_stash),
- _return(&_stash),
+ _params(_stash),
+ _return(_stash),
_refcnt(1),
_completed(0),
_errorCode(FRTE_NO_ERROR),
diff --git a/fnet/src/vespa/fnet/frt/values.cpp b/fnet/src/vespa/fnet/frt/values.cpp
index 7303f530e04..aca468bc630 100644
--- a/fnet/src/vespa/fnet/frt/values.cpp
+++ b/fnet/src/vespa/fnet/frt/values.cpp
@@ -72,7 +72,7 @@ private:
using fnet::BlobRef;
using fnet::LocalBlob;
-FRT_Values::FRT_Values(Stash * stash)
+FRT_Values::FRT_Values(Stash &stash)
: _maxValues(0),
_numValues(0),
_typeString(nullptr),
@@ -126,10 +126,10 @@ FRT_Values::EnsureFree(uint32_t need)
if (cnt < 16)
cnt = 16;
- char *types = (char *) _stash->alloc(cnt + 1);
+ char *types = (char *) _stash.alloc(cnt + 1);
memcpy(types, _typeString, _numValues);
memset(types + _numValues, FRT_VALUE_NONE, cnt + 1 - _numValues);
- FRT_Value *values = (FRT_Value *) _stash->alloc(cnt * sizeof(FRT_Value));
+ FRT_Value *values = (FRT_Value *) _stash.alloc(cnt * sizeof(FRT_Value));
memcpy(values, _values, _numValues * sizeof(FRT_Value));
_maxValues = cnt;
_typeString = types;
@@ -139,7 +139,7 @@ FRT_Values::EnsureFree(uint32_t need)
uint8_t *
FRT_Values::AddInt8Array(uint32_t len) {
EnsureFree();
- uint8_t *ret = (uint8_t *) _stash->alloc(len * sizeof(uint8_t));
+ uint8_t *ret = (uint8_t *) _stash.alloc(len * sizeof(uint8_t));
_values[_numValues]._int8_array._pt = ret;
_values[_numValues]._int8_array._len = len;
_typeString[_numValues++] = FRT_VALUE_INT8_ARRAY;
@@ -149,7 +149,7 @@ FRT_Values::AddInt8Array(uint32_t len) {
void
FRT_Values::AddInt8Array(const uint8_t *array, uint32_t len) {
EnsureFree();
- uint8_t *pt = (uint8_t *) _stash->alloc(len * sizeof(uint8_t));
+ uint8_t *pt = (uint8_t *) _stash.alloc(len * sizeof(uint8_t));
_values[_numValues]._int8_array._pt = pt;
_values[_numValues]._int8_array._len = len;
_typeString[_numValues++] = FRT_VALUE_INT8_ARRAY;
@@ -159,7 +159,7 @@ FRT_Values::AddInt8Array(const uint8_t *array, uint32_t len) {
uint16_t *
FRT_Values::AddInt16Array(uint32_t len) {
EnsureFree();
- uint16_t *ret = (uint16_t *) _stash->alloc(len * sizeof(uint16_t));
+ uint16_t *ret = (uint16_t *) _stash.alloc(len * sizeof(uint16_t));
_values[_numValues]._int16_array._pt = ret;
_values[_numValues]._int16_array._len = len;
_typeString[_numValues++] = FRT_VALUE_INT16_ARRAY;
@@ -169,7 +169,7 @@ FRT_Values::AddInt16Array(uint32_t len) {
void
FRT_Values::AddInt16Array(const uint16_t *array, uint32_t len) {
EnsureFree();
- uint16_t *pt = (uint16_t *) _stash->alloc(len * sizeof(uint16_t));
+ uint16_t *pt = (uint16_t *) _stash.alloc(len * sizeof(uint16_t));
_values[_numValues]._int16_array._pt = pt;
_values[_numValues]._int16_array._len = len;
_typeString[_numValues++] = FRT_VALUE_INT16_ARRAY;
@@ -179,7 +179,7 @@ FRT_Values::AddInt16Array(const uint16_t *array, uint32_t len) {
uint32_t *
FRT_Values::AddInt32Array(uint32_t len) {
EnsureFree();
- uint32_t *ret = (uint32_t *) _stash->alloc(len * sizeof(uint32_t));
+ uint32_t *ret = (uint32_t *) _stash.alloc(len * sizeof(uint32_t));
_values[_numValues]._int32_array._pt = ret;
_values[_numValues]._int32_array._len = len;
_typeString[_numValues++] = FRT_VALUE_INT32_ARRAY;
@@ -189,7 +189,7 @@ FRT_Values::AddInt32Array(uint32_t len) {
void
FRT_Values::AddInt32Array(const uint32_t *array, uint32_t len) {
EnsureFree();
- uint32_t *pt = (uint32_t *) _stash->alloc(len * sizeof(uint32_t));
+ uint32_t *pt = (uint32_t *) _stash.alloc(len * sizeof(uint32_t));
_values[_numValues]._int32_array._pt = pt;
_values[_numValues]._int32_array._len = len;
_typeString[_numValues++] = FRT_VALUE_INT32_ARRAY;
@@ -199,7 +199,7 @@ FRT_Values::AddInt32Array(const uint32_t *array, uint32_t len) {
uint64_t *
FRT_Values::AddInt64Array(uint32_t len) {
EnsureFree();
- uint64_t *ret = (uint64_t *) _stash->alloc(len * sizeof(uint64_t));
+ uint64_t *ret = (uint64_t *) _stash.alloc(len * sizeof(uint64_t));
_values[_numValues]._int64_array._pt = ret;
_values[_numValues]._int64_array._len = len;
_typeString[_numValues++] = FRT_VALUE_INT64_ARRAY;
@@ -209,7 +209,7 @@ FRT_Values::AddInt64Array(uint32_t len) {
void
FRT_Values::AddInt64Array(const uint64_t *array, uint32_t len) {
EnsureFree();
- uint64_t *pt = (uint64_t *) _stash->alloc(len * sizeof(uint64_t));
+ uint64_t *pt = (uint64_t *) _stash.alloc(len * sizeof(uint64_t));
_values[_numValues]._int64_array._pt = pt;
_values[_numValues]._int64_array._len = len;
_typeString[_numValues++] = FRT_VALUE_INT64_ARRAY;
@@ -219,7 +219,7 @@ FRT_Values::AddInt64Array(const uint64_t *array, uint32_t len) {
float *
FRT_Values::AddFloatArray(uint32_t len) {
EnsureFree();
- float *ret = (float *) _stash->alloc(len * sizeof(float));
+ float *ret = (float *) _stash.alloc(len * sizeof(float));
_values[_numValues]._float_array._pt = ret;
_values[_numValues]._float_array._len = len;
_typeString[_numValues++] = FRT_VALUE_FLOAT_ARRAY;
@@ -229,7 +229,7 @@ FRT_Values::AddFloatArray(uint32_t len) {
void
FRT_Values::AddFloatArray(const float *array, uint32_t len) {
EnsureFree();
- float *pt = (float *) _stash->alloc(len * sizeof(float));
+ float *pt = (float *) _stash.alloc(len * sizeof(float));
_values[_numValues]._float_array._pt = pt;
_values[_numValues]._float_array._len = len;
_typeString[_numValues++] = FRT_VALUE_FLOAT_ARRAY;
@@ -239,7 +239,7 @@ FRT_Values::AddFloatArray(const float *array, uint32_t len) {
double *
FRT_Values::AddDoubleArray(uint32_t len) {
EnsureFree();
- double *ret = (double *) _stash->alloc(len * sizeof(double));
+ double *ret = (double *) _stash.alloc(len * sizeof(double));
_values[_numValues]._double_array._pt = ret;
_values[_numValues]._double_array._len = len;
_typeString[_numValues++] = FRT_VALUE_DOUBLE_ARRAY;
@@ -249,7 +249,7 @@ FRT_Values::AddDoubleArray(uint32_t len) {
void
FRT_Values::AddDoubleArray(const double *array, uint32_t len) {
EnsureFree();
- double *pt = (double *) _stash->alloc(len * sizeof(double));
+ double *pt = (double *) _stash.alloc(len * sizeof(double));
_values[_numValues]._double_array._pt = pt;
_values[_numValues]._double_array._len = len;
_typeString[_numValues++] = FRT_VALUE_DOUBLE_ARRAY;
@@ -259,7 +259,7 @@ FRT_Values::AddDoubleArray(const double *array, uint32_t len) {
void
FRT_Values::AddString(const char *str, uint32_t len) {
EnsureFree();
- _values[_numValues]._string._str = fnet::copyString(_stash->alloc(len+1), str, len);
+ _values[_numValues]._string._str = fnet::copyString(_stash.alloc(len+1), str, len);
_values[_numValues]._string._len = len;
_typeString[_numValues++] = FRT_VALUE_STRING;
}
@@ -267,7 +267,7 @@ FRT_Values::AddString(const char *str, uint32_t len) {
char *
FRT_Values::AddString(uint32_t len) {
EnsureFree();
- char *ret = (char *) _stash->alloc(len + 1);
+ char *ret = (char *) _stash.alloc(len + 1);
_values[_numValues]._string._str = ret;
_values[_numValues]._string._len = len;
_typeString[_numValues++] = FRT_VALUE_STRING;
@@ -277,7 +277,7 @@ FRT_Values::AddString(uint32_t len) {
FRT_StringValue *
FRT_Values::AddStringArray(uint32_t len) {
EnsureFree();
- FRT_StringValue *ret = (FRT_StringValue *) _stash->alloc(len * sizeof(FRT_StringValue));
+ FRT_StringValue *ret = (FRT_StringValue *) _stash.alloc(len * sizeof(FRT_StringValue));
_values[_numValues]._string_array._pt = ret;
_values[_numValues]._string_array._len = len;
_typeString[_numValues++] = FRT_VALUE_STRING_ARRAY;
@@ -287,7 +287,7 @@ FRT_Values::AddStringArray(uint32_t len) {
void
FRT_Values::AddSharedData(FRT_ISharedBlob *blob) {
EnsureFree();
- _blobs = &_stash->create<BlobRef>(nullptr, _numValues, blob, _blobs);
+ _blobs = &_stash.create<BlobRef>(nullptr, _numValues, blob, _blobs);
_values[_numValues]._data._buf = const_cast<char *>(blob->getData());
_values[_numValues]._data._len = blob->getLen();
_typeString[_numValues++] = FRT_VALUE_DATA;
@@ -295,16 +295,16 @@ FRT_Values::AddSharedData(FRT_ISharedBlob *blob) {
void
FRT_Values::AddData(vespalib::alloc::Alloc buf, uint32_t len) {
- AddSharedData(&_stash->create<LocalBlob>(std::move(buf), len));
+ AddSharedData(&_stash.create<LocalBlob>(std::move(buf), len));
}
void
FRT_Values::AddData(const char *buf, uint32_t len) {
if (len > SHARED_LIMIT) {
- return AddSharedData(&_stash->create<LocalBlob>(buf, len));
+ return AddSharedData(&_stash.create<LocalBlob>(buf, len));
}
EnsureFree();
- _values[_numValues]._data._buf = fnet::copyData(_stash->alloc(len), buf, len);
+ _values[_numValues]._data._buf = fnet::copyData(_stash.alloc(len), buf, len);
_values[_numValues]._data._len = len;
_typeString[_numValues++] = FRT_VALUE_DATA;
}
@@ -312,12 +312,12 @@ FRT_Values::AddData(const char *buf, uint32_t len) {
char *
FRT_Values::AddData(uint32_t len) {
if (len > SHARED_LIMIT) {
- LocalBlob *blob = &_stash->create<LocalBlob>(nullptr, len);
+ LocalBlob *blob = &_stash.create<LocalBlob>(nullptr, len);
AddSharedData(blob);
return blob->getInternalData();
}
EnsureFree();
- char *ret = (char *) _stash->alloc(len);
+ char *ret = (char *) _stash.alloc(len);
_values[_numValues]._data._buf = ret;
_values[_numValues]._data._len = len;
_typeString[_numValues++] = FRT_VALUE_DATA;
@@ -327,7 +327,7 @@ FRT_Values::AddData(uint32_t len) {
FRT_DataValue *
FRT_Values::AddDataArray(uint32_t len) {
EnsureFree();
- FRT_DataValue *ret = (FRT_DataValue *) _stash->alloc(len * sizeof(FRT_DataValue));
+ FRT_DataValue *ret = (FRT_DataValue *) _stash.alloc(len * sizeof(FRT_DataValue));
_values[_numValues]._data_array._pt = ret;
_values[_numValues]._data_array._len = len;
_typeString[_numValues++] = FRT_VALUE_DATA_ARRAY;
@@ -336,7 +336,7 @@ FRT_Values::AddDataArray(uint32_t len) {
void
FRT_Values::SetString(FRT_StringValue *value, const char *str, uint32_t len) {
- value->_str = fnet::copyString(_stash->alloc(len+1), str, len);
+ value->_str = fnet::copyString(_stash.alloc(len+1), str, len);
value->_len = len;
}
@@ -349,11 +349,11 @@ void
FRT_Values::SetData(FRT_DataValue *value, const char *buf, uint32_t len) {
char *mybuf = nullptr;
if (len > SHARED_LIMIT) {
- LocalBlob *blob = &_stash->create<LocalBlob>(buf, len);
- _blobs = &_stash->create<BlobRef>(value, 0, blob, _blobs);
+ LocalBlob *blob = &_stash.create<LocalBlob>(buf, len);
+ _blobs = &_stash.create<BlobRef>(value, 0, blob, _blobs);
mybuf = blob->getInternalData();
} else {
- mybuf = fnet::copyData(_stash->alloc(len), buf, len);
+ mybuf = fnet::copyData(_stash.alloc(len), buf, len);
}
value->_buf = mybuf;
value->_len = len;
diff --git a/fnet/src/vespa/fnet/frt/values.h b/fnet/src/vespa/fnet/frt/values.h
index d625d23046d..8821eb65f4b 100644
--- a/fnet/src/vespa/fnet/frt/values.h
+++ b/fnet/src/vespa/fnet/frt/values.h
@@ -89,12 +89,12 @@ private:
char *_typeString;
FRT_Value *_values;
fnet::BlobRef *_blobs;
- Stash *_stash;
+ Stash &_stash;
public:
FRT_Values(const FRT_Values &) = delete;
FRT_Values &operator=(const FRT_Values &) = delete;
- FRT_Values(Stash * stash);
+ FRT_Values(Stash &stash);
~FRT_Values();
void DiscardBlobs();