Merge "discovery: add a skeleton for discovery implementation."
diff --git a/runtime/internal/discovery/advertise.go b/runtime/internal/discovery/advertise.go
new file mode 100644
index 0000000..1422760
--- /dev/null
+++ b/runtime/internal/discovery/advertise.go
@@ -0,0 +1,16 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package discovery
+
+import (
+	"v.io/v23/context"
+	"v.io/v23/discovery"
+	"v.io/v23/security/access"
+)
+
+// Advertise implements discovery.Advertiser.
+func (ds *ds) Advertise(ctx *context.T, service discovery.Service, perms access.Permissions) error {
+	return nil
+}
diff --git a/runtime/internal/discovery/discovery.go b/runtime/internal/discovery/discovery.go
new file mode 100644
index 0000000..53501d7
--- /dev/null
+++ b/runtime/internal/discovery/discovery.go
@@ -0,0 +1,9 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package discovery
+
+// ds is an implementation of discovery.T.
+type ds struct {
+}
diff --git a/runtime/internal/discovery/plugin.go b/runtime/internal/discovery/plugin.go
new file mode 100644
index 0000000..c275d89
--- /dev/null
+++ b/runtime/internal/discovery/plugin.go
@@ -0,0 +1,9 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package discovery
+
+// Plugin is the basic interface for a plugin to discovery service.
+type Plugin interface {
+}
diff --git a/runtime/internal/discovery/scan.go b/runtime/internal/discovery/scan.go
new file mode 100644
index 0000000..f955326
--- /dev/null
+++ b/runtime/internal/discovery/scan.go
@@ -0,0 +1,15 @@
+// Copyright 2015 The Vanadium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package discovery
+
+import (
+	"v.io/v23/context"
+	"v.io/v23/discovery"
+)
+
+// Scan implements discovery.Scanner.
+func (ds *ds) Scan(ctx *context.T, query string) (<-chan discovery.Update, error) {
+	return nil, nil
+}