From de0113ae6ac5878e08ba4ac356d9f063b13c5c94 Mon Sep 17 00:00:00 2001 From: astaxie Date: Thu, 19 Dec 2013 00:43:29 +0800 Subject: [PATCH] add comments & change channel from 100 to 1000 --- router.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/router.go b/router.go index d9f6f049..0dbed951 100644 --- a/router.go +++ b/router.go @@ -40,13 +40,13 @@ type controllerInfo struct { } type ControllerRegistor struct { - routers []*controllerInfo - fixrouters []*controllerInfo + routers []*controllerInfo // regexp router storage + fixrouters []*controllerInfo // fixed router storage enableFilter bool filters map[int][]*FilterRouter enableAuto bool autoRouter map[string]map[string]reflect.Type //key:controller key:method value:reflect.type - contextBuffer chan *beecontext.Context + contextBuffer chan *beecontext.Context //context buffer pool } func NewControllerRegistor() *ControllerRegistor { @@ -54,7 +54,7 @@ func NewControllerRegistor() *ControllerRegistor { routers: make([]*controllerInfo, 0), autoRouter: make(map[string]map[string]reflect.Type), filters: make(map[int][]*FilterRouter), - contextBuffer: make(chan *beecontext.Context, 100), + contextBuffer: make(chan *beecontext.Context, 1000), } } @@ -213,6 +213,10 @@ func (p *ControllerRegistor) Add(pattern string, c ControllerInterface, mappingM } // add auto router to controller +// example beego.AddAuto(&MainContorlller{}) +// MainController has method List and Page +// you can visit the url /main/list to exec List function +// /main/page to exec Page function func (p *ControllerRegistor) AddAuto(c ControllerInterface) { p.enableAuto = true reflectVal := reflect.ValueOf(c) @@ -367,7 +371,7 @@ func (p *ControllerRegistor) UrlFor(endpoint string, values ...string) string { return "" } -// AutoRoute +// main function to serveHTTP func (p *ControllerRegistor) ServeHTTP(rw http.ResponseWriter, r *http.Request) { defer func() { if err := recover(); err != nil {