veyron/runtimes/google/ipc/stream/{proxy, vc}: Switch vom to vom2.

Change-Id: Ic860781b2be3a17fc2236a0ca6c6036f7e15e6e1
diff --git a/runtimes/google/ipc/stream/manager/listener.go b/runtimes/google/ipc/stream/manager/listener.go
index bd6d272..ace828f 100644
--- a/runtimes/google/ipc/stream/manager/listener.go
+++ b/runtimes/google/ipc/stream/manager/listener.go
@@ -17,7 +17,7 @@
 	"veyron.io/veyron/veyron2/naming"
 	"veyron.io/veyron/veyron2/verror"
 	"veyron.io/veyron/veyron2/vlog"
-	"veyron.io/veyron/veyron2/vom"
+	"veyron.io/veyron/veyron2/vom2"
 )
 
 var errListenerIsClosed = errors.New("Listener has been Closed")
@@ -188,12 +188,24 @@
 	}
 	var request proxy.Request
 	var response proxy.Response
-	if err := vom.NewEncoder(flow).Encode(request); err != nil {
+	enc, err := vom2.NewBinaryEncoder(flow)
+	if err != nil {
+		flow.Close()
+		vf.StopAccepting()
+		return nil, nil, fmt.Errorf("failed to create new Encoder: %v", err)
+	}
+	if err := enc.Encode(request); err != nil {
 		flow.Close()
 		vf.StopAccepting()
 		return nil, nil, fmt.Errorf("failed to encode request to proxy: %v", err)
 	}
-	if err := vom.NewDecoder(flow).Decode(&response); err != nil {
+	dec, err := vom2.NewDecoder(flow)
+	if err != nil {
+		flow.Close()
+		vf.StopAccepting()
+		return nil, nil, fmt.Errorf("failed to create new Decoder: %v", err)
+	}
+	if err := dec.Decode(&response); err != nil {
 		flow.Close()
 		vf.StopAccepting()
 		return nil, nil, fmt.Errorf("failed to decode response from proxy: %v", err)
diff --git a/runtimes/google/ipc/stream/proxy/proxy.go b/runtimes/google/ipc/stream/proxy/proxy.go
index 095357b..46cc968 100644
--- a/runtimes/google/ipc/stream/proxy/proxy.go
+++ b/runtimes/google/ipc/stream/proxy/proxy.go
@@ -11,7 +11,7 @@
 	"veyron.io/veyron/veyron2/security"
 	"veyron.io/veyron/veyron2/verror"
 	"veyron.io/veyron/veyron2/vlog"
-	"veyron.io/veyron/veyron2/vom"
+	"veyron.io/veyron/veyron2/vom2"
 
 	"veyron.io/veyron/veyron/runtimes/google/ipc/stream/crypto"
 	"veyron.io/veyron/veyron/runtimes/google/ipc/stream/id"
@@ -398,7 +398,10 @@
 	server.Process.InitVCI(server.VC.VCI())
 	var request Request
 	var response Response
-	if err := vom.NewDecoder(conn).Decode(&request); err != nil {
+	dec, err := vom2.NewDecoder(conn)
+	if err != nil {
+		response.Error = verror.BadProtocolf("proxy: failed to create Decoder: %v", err)
+	} else if err := dec.Decode(&request); err != nil {
 		response.Error = verror.BadProtocolf("proxy: unable to read Request: %v", err)
 	} else if err := p.servers.Add(server); err != nil {
 		response.Error = verror.Convert(err)
@@ -412,7 +415,13 @@
 			response.Endpoint = ep.String()
 		}
 	}
-	if err := vom.NewEncoder(conn).Encode(response); err != nil {
+	enc, err := vom2.NewBinaryEncoder(conn)
+	if err != nil {
+		proxyLog().Infof("Failed to create Encoder for server %v: %v", server, err)
+		server.Close(err)
+		return
+	}
+	if err := enc.Encode(response); err != nil {
 		proxyLog().Infof("Failed to encode response %#v for server %v", response, server)
 		server.Close(err)
 		return
diff --git a/runtimes/google/ipc/stream/vc/auth.go b/runtimes/google/ipc/stream/vc/auth.go
index 5ecc6ca..7513f04 100644
--- a/runtimes/google/ipc/stream/vc/auth.go
+++ b/runtimes/google/ipc/stream/vc/auth.go
@@ -12,7 +12,7 @@
 	"veyron.io/veyron/veyron2/context"
 	"veyron.io/veyron/veyron2/ipc/version"
 	"veyron.io/veyron/veyron2/security"
-	"veyron.io/veyron/veyron2/vom"
+	"veyron.io/veyron/veyron2/vom2"
 )
 
 var (
@@ -94,7 +94,10 @@
 		return err
 	}
 	var buf bytes.Buffer
-	enc := vom.NewEncoder(&buf)
+	enc, err := vom2.NewBinaryEncoder(&buf)
+	if err != nil {
+		return err
+	}
 	if err := enc.Encode(signature); err != nil {
 		return err
 	}
@@ -111,12 +114,20 @@
 		return err
 	}
 	defer msg.Release()
-	return vom.NewEncoder(w).Encode(msg.Contents)
+	enc, err = vom2.NewBinaryEncoder(w)
+	if err != nil {
+		return err
+	}
+	return enc.Encode(msg.Contents)
 }
 
 func readBlessings(r io.Reader, tag []byte, crypter crypto.Crypter, v version.IPCVersion) (blessings security.Blessings, discharges map[string]security.Discharge, err error) {
 	var msg []byte
-	if err = vom.NewDecoder(r).Decode(&msg); err != nil {
+	dec, err := vom2.NewDecoder(r)
+	if err != nil {
+		return nil, nil, fmt.Errorf("failed to create new decoder: %v", err)
+	}
+	if err = dec.Decode(&msg); err != nil {
 		return nil, nil, fmt.Errorf("failed to read handshake message: %v", err)
 	}
 	buf, err := crypter.Decrypt(iobuf.NewSlice(msg))
@@ -124,7 +135,10 @@
 		return
 	}
 	defer buf.Release()
-	dec := vom.NewDecoder(bytes.NewReader(buf.Contents))
+	dec, err = vom2.NewDecoder(bytes.NewReader(buf.Contents))
+	if err != nil {
+		return nil, nil, fmt.Errorf("failed to create new decoder: %v", err)
+	}
 
 	var (
 		wireb security.WireBlessings