Docker-DCO-1.1-Signed-off-by: Victor Vieux <vieux@docker.com> (github: vieux)
| ... | ... |
@@ -244,7 +244,7 @@ func getEvents(eng *engine.Engine, version version.Version, w http.ResponseWrite |
| 244 | 244 |
return err |
| 245 | 245 |
} |
| 246 | 246 |
|
| 247 |
- var job = eng.Job("events", r.RemoteAddr)
|
|
| 247 |
+ var job = eng.Job("events")
|
|
| 248 | 248 |
streamJSON(job, w, true) |
| 249 | 249 |
job.Setenv("since", r.Form.Get("since"))
|
| 250 | 250 |
job.Setenv("until", r.Form.Get("until"))
|
| ... | ... |
@@ -198,7 +198,7 @@ func (srv *Server) ContainerKill(job *engine.Job) engine.Status {
|
| 198 | 198 |
return engine.StatusOK |
| 199 | 199 |
} |
| 200 | 200 |
|
| 201 |
-func (srv *Server) EvictListener(from string) {
|
|
| 201 |
+func (srv *Server) EvictListener(from int64) {
|
|
| 202 | 202 |
srv.Lock() |
| 203 | 203 |
if old, ok := srv.listeners[from]; ok {
|
| 204 | 204 |
delete(srv.listeners, from) |
| ... | ... |
@@ -208,12 +208,12 @@ func (srv *Server) EvictListener(from string) {
|
| 208 | 208 |
} |
| 209 | 209 |
|
| 210 | 210 |
func (srv *Server) Events(job *engine.Job) engine.Status {
|
| 211 |
- if len(job.Args) != 1 {
|
|
| 212 |
- return job.Errorf("Usage: %s FROM", job.Name)
|
|
| 211 |
+ if len(job.Args) != 0 {
|
|
| 212 |
+ return job.Errorf("Usage: %s", job.Name)
|
|
| 213 | 213 |
} |
| 214 | 214 |
|
| 215 | 215 |
var ( |
| 216 |
- from = job.Args[0] |
|
| 216 |
+ from = time.Now().UTC().UnixNano() |
|
| 217 | 217 |
since = job.GetenvInt64("since")
|
| 218 | 218 |
until = job.GetenvInt64("until")
|
| 219 | 219 |
timeout = time.NewTimer(time.Unix(until, 0).Sub(time.Now())) |
| ... | ... |
@@ -2432,7 +2432,7 @@ func NewServer(eng *engine.Engine, config *daemonconfig.Config) (*Server, error) |
| 2432 | 2432 |
pullingPool: make(map[string]chan struct{}),
|
| 2433 | 2433 |
pushingPool: make(map[string]chan struct{}),
|
| 2434 | 2434 |
events: make([]utils.JSONMessage, 0, 64), //only keeps the 64 last events |
| 2435 |
- listeners: make(map[string]chan utils.JSONMessage), |
|
| 2435 |
+ listeners: make(map[int64]chan utils.JSONMessage), |
|
| 2436 | 2436 |
running: true, |
| 2437 | 2437 |
} |
| 2438 | 2438 |
daemon.SetServer(srv) |
| ... | ... |
@@ -2494,7 +2494,7 @@ type Server struct {
|
| 2494 | 2494 |
pullingPool map[string]chan struct{}
|
| 2495 | 2495 |
pushingPool map[string]chan struct{}
|
| 2496 | 2496 |
events []utils.JSONMessage |
| 2497 |
- listeners map[string]chan utils.JSONMessage |
|
| 2497 |
+ listeners map[int64]chan utils.JSONMessage |
|
| 2498 | 2498 |
Eng *engine.Engine |
| 2499 | 2499 |
running bool |
| 2500 | 2500 |
} |
| ... | ... |
@@ -1,9 +1,10 @@ |
| 1 | 1 |
package server |
| 2 | 2 |
|
| 3 | 3 |
import ( |
| 4 |
- "github.com/dotcloud/docker/utils" |
|
| 5 | 4 |
"testing" |
| 6 | 5 |
"time" |
| 6 |
+ |
|
| 7 |
+ "github.com/dotcloud/docker/utils" |
|
| 7 | 8 |
) |
| 8 | 9 |
|
| 9 | 10 |
func TestPools(t *testing.T) {
|
| ... | ... |
@@ -47,14 +48,14 @@ func TestPools(t *testing.T) {
|
| 47 | 47 |
func TestLogEvent(t *testing.T) {
|
| 48 | 48 |
srv := &Server{
|
| 49 | 49 |
events: make([]utils.JSONMessage, 0, 64), |
| 50 |
- listeners: make(map[string]chan utils.JSONMessage), |
|
| 50 |
+ listeners: make(map[int64]chan utils.JSONMessage), |
|
| 51 | 51 |
} |
| 52 | 52 |
|
| 53 | 53 |
srv.LogEvent("fakeaction", "fakeid", "fakeimage")
|
| 54 | 54 |
|
| 55 | 55 |
listener := make(chan utils.JSONMessage) |
| 56 | 56 |
srv.Lock() |
| 57 |
- srv.listeners["test"] = listener |
|
| 57 |
+ srv.listeners[1337] = listener |
|
| 58 | 58 |
srv.Unlock() |
| 59 | 59 |
|
| 60 | 60 |
srv.LogEvent("fakeaction2", "fakeid", "fakeimage")
|