Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(469)

Unified Diff: third_party/grpc/include/grpc++/impl/codegen/client_unary_call.h

Issue 1932353002: Initial checkin of gRPC to third_party/ Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/grpc/include/grpc++/impl/codegen/client_unary_call.h
diff --git a/third_party/WebKit/Source/core/layout/OrderIterator.cpp b/third_party/grpc/include/grpc++/impl/codegen/client_unary_call.h
similarity index 52%
copy from third_party/WebKit/Source/core/layout/OrderIterator.cpp
copy to third_party/grpc/include/grpc++/impl/codegen/client_unary_call.h
index 8813561b862d5882183732d768d453e309737a4f..0134dec800ccfaa4d204b7c1a2adb7b99edcbeec 100644
--- a/third_party/WebKit/Source/core/layout/OrderIterator.cpp
+++ b/third_party/grpc/include/grpc++/impl/codegen/client_unary_call.h
@@ -1,5 +1,7 @@
/*
- * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Copyright 2015-2016, Google Inc.
+ * All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
@@ -26,66 +28,48 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
*/
-#include "core/layout/OrderIterator.h"
+#ifndef GRPCXX_IMPL_CODEGEN_CLIENT_UNARY_CALL_H
+#define GRPCXX_IMPL_CODEGEN_CLIENT_UNARY_CALL_H
-#include "core/layout/LayoutBox.h"
+#include <grpc++/impl/codegen/call.h>
+#include <grpc++/impl/codegen/channel_interface.h>
+#include <grpc++/impl/codegen/config.h>
+#include <grpc++/impl/codegen/status.h>
-namespace blink {
+namespace grpc {
-OrderIterator::OrderIterator(const LayoutBox* containerBox)
- : m_containerBox(containerBox)
- , m_currentChild(nullptr)
- , m_isReset(false)
-{
-}
+class Channel;
+class ClientContext;
+class CompletionQueue;
+class RpcMethod;
-LayoutBox* OrderIterator::first()
-{
- reset();
- return next();
+// Wrapper that performs a blocking unary call
+template <class InputMessage, class OutputMessage>
+Status BlockingUnaryCall(ChannelInterface* channel, const RpcMethod& method,
+ ClientContext* context, const InputMessage& request,
+ OutputMessage* result) {
+ CompletionQueue cq;
+ Call call(channel->CreateCall(method, context, &cq));
+ CallOpSet<CallOpSendInitialMetadata, CallOpSendMessage,
+ CallOpRecvInitialMetadata, CallOpRecvMessage<OutputMessage>,
+ CallOpClientSendClose, CallOpClientRecvStatus> ops;
+ Status status = ops.SendMessage(request);
+ if (!status.ok()) {
+ return status;
+ }
+ ops.SendInitialMetadata(context->send_initial_metadata_);
+ ops.RecvInitialMetadata(context);
+ ops.RecvMessage(result);
+ ops.ClientSendClose();
+ ops.ClientRecvStatus(context, &status);
+ call.PerformOps(&ops);
+ GPR_ASSERT((cq.Pluck(&ops) && ops.got_message) || !status.ok());
+ return status;
}
-LayoutBox* OrderIterator::next()
-{
- do {
- if (!m_currentChild) {
- if (m_orderValuesIterator == m_orderValues.end())
- return nullptr;
-
- if (!m_isReset) {
- ++m_orderValuesIterator;
- if (m_orderValuesIterator == m_orderValues.end())
- return nullptr;
- } else {
- m_isReset = false;
- }
-
- m_currentChild = m_containerBox->firstChildBox();
- } else {
- m_currentChild = m_currentChild->nextSiblingBox();
- }
- } while (!m_currentChild || m_currentChild->style()->order() != *m_orderValuesIterator);
-
- return m_currentChild;
-}
-
-void OrderIterator::reset()
-{
- m_currentChild = nullptr;
- m_orderValuesIterator = m_orderValues.begin();
- m_isReset = true;
-}
-
-OrderIteratorPopulator::~OrderIteratorPopulator()
-{
- m_iterator.reset();
-}
-
-void OrderIteratorPopulator::collectChild(const LayoutBox* child)
-{
- m_iterator.m_orderValues.insert(child->style()->order());
-}
+} // namespace grpc
-} // namespace blink
+#endif // GRPCXX_IMPL_CODEGEN_CLIENT_UNARY_CALL_H

Powered by Google App Engine
This is Rietveld 408576698