Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(4)

Side by Side Diff: state/apiserver/apiserver.go

Issue 10044043: state/apiserver: Split Machiner into subpackage (Closed)
Patch Set: state/apiserver: Split Machiner into subpackage Created 11 years, 9 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « state/api/machiner_test.go ('k') | state/apiserver/common/errors.go » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 Canonical Ltd. 1 // Copyright 2013 Canonical Ltd.
2 // Licensed under the AGPLv3, see LICENCE file for details. 2 // Licensed under the AGPLv3, see LICENCE file for details.
3 3
4 package apiserver 4 package apiserver
5 5
6 import ( 6 import (
7 "code.google.com/p/go.net/websocket" 7 "code.google.com/p/go.net/websocket"
8 "crypto/tls" 8 "crypto/tls"
9 "launchpad.net/juju-core/log" 9 "launchpad.net/juju-core/log"
10 "launchpad.net/juju-core/rpc" 10 "launchpad.net/juju-core/rpc"
11 "launchpad.net/juju-core/rpc/jsoncodec" 11 "launchpad.net/juju-core/rpc/jsoncodec"
12 "launchpad.net/juju-core/state" 12 "launchpad.net/juju-core/state"
13 "launchpad.net/juju-core/state/apiserver/common"
13 "launchpad.net/tomb" 14 "launchpad.net/tomb"
14 "net" 15 "net"
15 "net/http" 16 "net/http"
16 "sync" 17 "sync"
17 ) 18 )
18 19
19 // Server holds the server side of the API. 20 // Server holds the server side of the API.
20 type Server struct { 21 type Server struct {
21 tomb tomb.Tomb 22 tomb tomb.Tomb
22 wg sync.WaitGroup 23 wg sync.WaitGroup
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 http.Serve(lis, handler) 90 http.Serve(lis, handler)
90 } 91 }
91 92
92 // Addr returns the address that the server is listening on. 93 // Addr returns the address that the server is listening on.
93 func (srv *Server) Addr() string { 94 func (srv *Server) Addr() string {
94 return srv.addr.String() 95 return srv.addr.String()
95 } 96 }
96 97
97 func (srv *Server) serveConn(wsConn *websocket.Conn) error { 98 func (srv *Server) serveConn(wsConn *websocket.Conn) error {
98 conn := rpc.NewConn(jsoncodec.NewWebsocket(wsConn)) 99 conn := rpc.NewConn(jsoncodec.NewWebsocket(wsConn))
100 serverError := func(err error) error {
101 if err := common.ServerError(err); err != nil {
102 return err
103 }
104 return nil
105 }
99 if err := conn.Serve(newStateServer(srv), serverError); err != nil { 106 if err := conn.Serve(newStateServer(srv), serverError); err != nil {
100 return err 107 return err
101 } 108 }
102 conn.Start() 109 conn.Start()
103 select { 110 select {
104 case <-conn.Dead(): 111 case <-conn.Dead():
105 case <-srv.tomb.Dying(): 112 case <-srv.tomb.Dying():
106 } 113 }
107 return conn.Close() 114 return conn.Close()
108 } 115 }
109 116
110 var logRequests = true 117 var logRequests = true
OLDNEW
« no previous file with comments | « state/api/machiner_test.go ('k') | state/apiserver/common/errors.go » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b