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

Unified Diff: third_party/grpc/src/core/client_config/subchannel_factory.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/src/core/client_config/subchannel_factory.h
diff --git a/third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h b/third_party/grpc/src/core/client_config/subchannel_factory.h
similarity index 53%
copy from third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h
copy to third_party/grpc/src/core/client_config/subchannel_factory.h
index 21592756b5cc08b377a9ee70f2d71cd81ee775d5..c6d8cc90bed7f262577b2f1fe937ccd3d62ee232 100644
--- a/third_party/WebKit/Source/bindings/core/v8/ScriptFunction.h
+++ b/third_party/grpc/src/core/client_config/subchannel_factory.h
@@ -1,5 +1,7 @@
/*
- * Copyright (C) 2013 Google Inc. All rights reserved.
+ *
+ * Copyright 2015, 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,51 +28,39 @@
* 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.
+ *
*/
-#ifndef ScriptFunction_h
-#define ScriptFunction_h
-
-#include "bindings/core/v8/ScriptValue.h"
-#include "core/CoreExport.h"
-#include "platform/heap/Handle.h"
-#include <v8.h>
-
-namespace blink {
+#ifndef GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H
+#define GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H
-// A common way of using ScriptFunction is as follows:
-//
-// class DerivedFunction : public ScriptFunction {
-// // This returns a V8 function which the DerivedFunction is bound to.
-// // The DerivedFunction is destructed when the V8 function is
-// // garbage-collected.
-// static v8::Local<v8::Function> createFunction(ScriptState* scriptState)
-// {
-// DerivedFunction* self = new DerivedFunction(scriptState);
-// return self->bindToV8Function();
-// }
-// };
-class CORE_EXPORT ScriptFunction : public GarbageCollectedFinalized<ScriptFunction> {
-public:
- virtual ~ScriptFunction() { }
- ScriptState* getScriptState() const { return m_scriptState.get(); }
- DEFINE_INLINE_VIRTUAL_TRACE() { }
+#include "src/core/channel/channel_stack.h"
+#include "src/core/client_config/subchannel.h"
-protected:
- explicit ScriptFunction(ScriptState* scriptState)
- : m_scriptState(scriptState)
- {
- }
+typedef struct grpc_subchannel_factory grpc_subchannel_factory;
+typedef struct grpc_subchannel_factory_vtable grpc_subchannel_factory_vtable;
- v8::Local<v8::Function> bindToV8Function();
-
-private:
- virtual ScriptValue call(ScriptValue) = 0;
- static void callCallback(const v8::FunctionCallbackInfo<v8::Value>&);
+/** Constructor for new configured channels.
+ Creating decorators around this type is encouraged to adapt behavior. */
+struct grpc_subchannel_factory {
+ const grpc_subchannel_factory_vtable *vtable;
+};
- RefPtr<ScriptState> m_scriptState;
+struct grpc_subchannel_factory_vtable {
+ void (*ref)(grpc_subchannel_factory *factory);
+ void (*unref)(grpc_exec_ctx *exec_ctx, grpc_subchannel_factory *factory);
+ grpc_subchannel *(*create_subchannel)(grpc_exec_ctx *exec_ctx,
+ grpc_subchannel_factory *factory,
+ grpc_subchannel_args *args);
};
-} // namespace blink
+void grpc_subchannel_factory_ref(grpc_subchannel_factory *factory);
+void grpc_subchannel_factory_unref(grpc_exec_ctx *exec_ctx,
+ grpc_subchannel_factory *factory);
+
+/** Create a new grpc_subchannel */
+grpc_subchannel *grpc_subchannel_factory_create_subchannel(
+ grpc_exec_ctx *exec_ctx, grpc_subchannel_factory *factory,
+ grpc_subchannel_args *args);
-#endif
+#endif /* GRPC_INTERNAL_CORE_CLIENT_CONFIG_SUBCHANNEL_FACTORY_H */
« no previous file with comments | « third_party/grpc/src/core/client_config/subchannel.c ('k') | third_party/grpc/src/core/client_config/subchannel_factory.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698