diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-01-13 01:03:50 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-01-13 01:03:50 +0100 |
commit | 6884efd23bd91c88a15e79e402a0852acd92ceba (patch) | |
tree | 53e845594d7491c421b38b09147867002c5eadc8 /fnet | |
parent | 5a8f6744eb3233c5fa3e243e060d2804f22bce84 (diff) |
Oops, same syntax -> different semantics.
Diffstat (limited to 'fnet')
-rw-r--r-- | fnet/src/examples/frt/rpc/rpc_proxy.cpp | 17 | ||||
-rw-r--r-- | fnet/src/tests/frt/rpc/invoke.cpp | 4 | ||||
-rw-r--r-- | fnet/src/tests/printstuff/printstuff_test.cpp | 12 | ||||
-rw-r--r-- | fnet/src/vespa/fnet/frt/packets.cpp | 6 | ||||
-rw-r--r-- | fnet/src/vespa/fnet/frt/rpcrequest.cpp | 11 | ||||
-rw-r--r-- | fnet/src/vespa/fnet/frt/supervisor.cpp | 6 | ||||
-rw-r--r-- | fnet/src/vespa/fnet/frt/values.cpp | 12 |
7 files changed, 30 insertions, 38 deletions
diff --git a/fnet/src/examples/frt/rpc/rpc_proxy.cpp b/fnet/src/examples/frt/rpc/rpc_proxy.cpp index 9f6ae37ab2d..0be2c2131eb 100644 --- a/fnet/src/examples/frt/rpc/rpc_proxy.cpp +++ b/fnet/src/examples/frt/rpc/rpc_proxy.cpp @@ -142,20 +142,13 @@ RPCProxy::HOOK_Mismatch(FRT_RPCRequest *req) } req->Detach(); req->SetError(FRTE_NO_ERROR, ""); - if (req->GetConnection()->IsServer() && - GetSession(req)->server != NULL) + if (req->GetConnection()->IsServer() && GetSession(req)->server != NULL) { - GetSession(req)->server->InvokeAsync(req, 60.0, - new (req->getStash()) - ReqDone(*this)); - } else if (req->GetConnection()->IsClient() && - GetSession(req)->client != NULL) + GetSession(req)->server->InvokeAsync(req, 60.0, &req->getStash()->create<ReqDone>(*this)); + } else if (req->GetConnection()->IsClient() && GetSession(req)->client != NULL) { - FRT_Supervisor::InvokeAsync(GetSession(req)->client->Owner(), - GetSession(req)->client, - req, 60.0, - new (req->getStash()) - ReqDone(*this)); + FRT_Supervisor::InvokeAsync(GetSession(req)->client->Owner(), GetSession(req)->client, + req, 60.0, &req->getStash()->create<ReqDone>(*this)); } else { req->SetError(FRTE_RPC_CONNECTION); req->Return(); diff --git a/fnet/src/tests/frt/rpc/invoke.cpp b/fnet/src/tests/frt/rpc/invoke.cpp index 12f1383fbc0..2abe1b9a5de 100644 --- a/fnet/src/tests/frt/rpc/invoke.cpp +++ b/fnet/src/tests/frt/rpc/invoke.cpp @@ -261,9 +261,7 @@ public: if (delay == 0) { req->Return(); } else { - new (req->getStash()) DelayedReturn(_scheduler, - req, - ((double)delay) / 1000.0); + req->getStash()->create<DelayedReturn>(_scheduler, req, ((double)delay) / 1000.0); } } else { diff --git a/fnet/src/tests/printstuff/printstuff_test.cpp b/fnet/src/tests/printstuff/printstuff_test.cpp index d39cee5a44b..09e4d34daab 100644 --- a/fnet/src/tests/printstuff/printstuff_test.cpp +++ b/fnet/src/tests/printstuff/printstuff_test.cpp @@ -24,14 +24,14 @@ TEST("rpc packets in a queue") { { req->SetMethodName("foo"); FNET_PacketQueue_NoLock q1(1, FNET_IPacketHandler::FNET_KEEP_CHANNEL); - q1.QueuePacket_NoLock(new (req->getStash()) FRT_RPCRequestPacket(req, 0, false), FNET_Context()); - q1.QueuePacket_NoLock(new (req->getStash()) FRT_RPCReplyPacket(req, 0, false), FNET_Context()); - q1.QueuePacket_NoLock(new (req->getStash()) FRT_RPCErrorPacket(req, 0, false), FNET_Context()); + q1.QueuePacket_NoLock(&req->getStash()->create<FRT_RPCRequestPacket>(req, 0, false), FNET_Context()); + q1.QueuePacket_NoLock(&req->getStash()->create<FRT_RPCRequestPacket>(req, 0, false), FNET_Context()); + q1.QueuePacket_NoLock(&req->getStash()->create<FRT_RPCRequestPacket>(req, 0, false), FNET_Context()); q1.Print(); FNET_PacketQueue q2(2, FNET_IPacketHandler::FNET_KEEP_CHANNEL); - q2.QueuePacket(new (req->getStash()) FRT_RPCRequestPacket(req, 0, false), FNET_Context()); - q2.QueuePacket(new (req->getStash()) FRT_RPCReplyPacket(req, 0, false), FNET_Context()); - q2.QueuePacket(new (req->getStash()) FRT_RPCErrorPacket(req, 0, false), FNET_Context()); + q2.QueuePacket(&req->getStash()->create<FRT_RPCRequestPacket>(req, 0, false), FNET_Context()); + q2.QueuePacket(&req->getStash()->create<FRT_RPCRequestPacket>(req, 0, false), FNET_Context()); + q2.QueuePacket(&req->getStash()->create<FRT_RPCRequestPacket>(req, 0, false), FNET_Context()); q2.Print(); } req->SubRef(); diff --git a/fnet/src/vespa/fnet/frt/packets.cpp b/fnet/src/vespa/fnet/frt/packets.cpp index 93f2030669d..cb0a3f65224 100644 --- a/fnet/src/vespa/fnet/frt/packets.cpp +++ b/fnet/src/vespa/fnet/frt/packets.cpp @@ -259,13 +259,13 @@ FRT_PacketFactory::CreatePacket(uint32_t pcode, FNET_Context context) switch(pcode) { case PCODE_FRT_RPC_REQUEST: - return new (tub) FRT_RPCRequestPacket(req, flags, false); + return &tub->create<FRT_RPCRequestPacket>(req, flags, false); case PCODE_FRT_RPC_REPLY: - return new (tub) FRT_RPCReplyPacket(req, flags, false); + return &tub->create<FRT_RPCReplyPacket>(req, flags, false); case PCODE_FRT_RPC_ERROR: - return new (tub) FRT_RPCErrorPacket(req, flags, false); + return &tub->create<FRT_RPCErrorPacket>(req, flags, false); } return NULL; } diff --git a/fnet/src/vespa/fnet/frt/rpcrequest.cpp b/fnet/src/vespa/fnet/frt/rpcrequest.cpp index 84a8fb48602..55ed2ccd01b 100644 --- a/fnet/src/vespa/fnet/frt/rpcrequest.cpp +++ b/fnet/src/vespa/fnet/frt/rpcrequest.cpp @@ -166,7 +166,7 @@ FRT_RPCRequest::CreateRequestPacket(bool wantReply) else flags |= FLAG_FRT_RPC_NOREPLY; - return new (&_tub) FRT_RPCRequestPacket(this, flags, true); + return &_tub.create<FRT_RPCRequestPacket>(this, flags, true); } @@ -177,8 +177,9 @@ FRT_RPCRequest::CreateReplyPacket() if (FNET_Info::GetEndian() == FNET_Info::ENDIAN_LITTLE) flags |= FLAG_FRT_RPC_LITTLE_ENDIAN; - if (IsError()) - return new (&_tub) FRT_RPCErrorPacket(this, flags, true); - else - return new (&_tub) FRT_RPCReplyPacket(this, flags, true); + if (IsError()) { + return &_tub.create<FRT_RPCErrorPacket>(this, flags, true); + } else { + return &_tub.create<FRT_RPCReplyPacket>(this, flags, true); + } } diff --git a/fnet/src/vespa/fnet/frt/supervisor.cpp b/fnet/src/vespa/fnet/frt/supervisor.cpp index 9add08fe1d9..68775da44c6 100644 --- a/fnet/src/vespa/fnet/frt/supervisor.cpp +++ b/fnet/src/vespa/fnet/frt/supervisor.cpp @@ -206,7 +206,7 @@ FRT_Supervisor::InvokeAsync(SchedulerPtr scheduler, { uint32_t chid; FNET_Packet *packet = req->CreateRequestPacket(true); - FRT_RPCAdapter *adapter = new (req->getStash()) FRT_RPCAdapter(scheduler.ptr, req, waiter); + FRT_RPCAdapter *adapter = &req->getStash()->create<FRT_RPCAdapter>(scheduler.ptr, req, waiter); FNET_Channel *ch = (conn == nullptr)? nullptr : conn->OpenChannel(adapter, FNET_Context((void *)req), &chid); adapter->SetChannel(ch); @@ -274,7 +274,7 @@ FRT_Supervisor::HandlePacket(FNET_Packet *packet, FNET_Context context) } else { req->SetError(FRTE_RPC_BAD_REQUEST); } - invoker = new (req->getStash()) FRT_RPCInvoker(this, req, noReply); + invoker = &req->getStash()->create<FRT_RPCInvoker>(this, req, noReply); packet->Free(); if (req->IsError()) { @@ -480,7 +480,7 @@ FRT_Supervisor::ConnHooks::InvokeHook(FRT_Method *hook, { FRT_RPCRequest *req = _parent.AllocRPCRequest(); req->SetMethodName(hook->GetName()); - (new (req->getStash()) FRT_HookInvoker(req, hook, conn))->Invoke(); + req->getStash()->create<FRT_HookInvoker>(req, hook, conn).Invoke(); } diff --git a/fnet/src/vespa/fnet/frt/values.cpp b/fnet/src/vespa/fnet/frt/values.cpp index bb3ecd4db2d..bfbe8c2963e 100644 --- a/fnet/src/vespa/fnet/frt/values.cpp +++ b/fnet/src/vespa/fnet/frt/values.cpp @@ -241,7 +241,7 @@ FRT_Values::AddStringArray(uint32_t len) { void FRT_Values::AddSharedData(FRT_ISharedBlob *blob) { EnsureFree(); - _blobs = new (_tub) BlobRef(NULL, _numValues, blob, _blobs); + _blobs = &_tub->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; @@ -249,13 +249,13 @@ FRT_Values::AddSharedData(FRT_ISharedBlob *blob) { void FRT_Values::AddData(vespalib::alloc::Alloc buf, uint32_t len) { - AddSharedData(new (_tub) LocalBlob(std::move(buf), len)); + AddSharedData(&_tub->create<LocalBlob>(std::move(buf), len)); } void FRT_Values::AddData(const char *buf, uint32_t len) { if (len > SHARED_LIMIT) { - return AddSharedData(new (_tub) LocalBlob(buf, len)); + return AddSharedData(&_tub->create<LocalBlob>(buf, len)); } EnsureFree(); _values[_numValues]._data._buf = fnet::copyData(_tub->alloc(len), buf, len); @@ -266,7 +266,7 @@ FRT_Values::AddData(const char *buf, uint32_t len) { char * FRT_Values::AddData(uint32_t len) { if (len > SHARED_LIMIT) { - LocalBlob *blob = new (_tub) LocalBlob(NULL, len); + LocalBlob *blob = &_tub->create<LocalBlob>(nullptr, len); AddSharedData(blob); return blob->getInternalData(); } @@ -303,8 +303,8 @@ void FRT_Values::SetData(FRT_DataValue *value, const char *buf, uint32_t len) { char *mybuf = NULL; if (len > SHARED_LIMIT) { - LocalBlob *blob = new (_tub) LocalBlob(buf, len); - _blobs = new (_tub) BlobRef(value, 0, blob, _blobs); + LocalBlob *blob = &_tub->create<LocalBlob>(buf, len); + _blobs = &_tub->create<BlobRef>(value, 0, blob, _blobs); mybuf = blob->getInternalData(); } else { mybuf = fnet::copyData(_tub->alloc(len), buf, len); |