summaryrefslogtreecommitdiff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go26
1 files changed, 22 insertions, 4 deletions
diff --git a/main.go b/main.go
index e64078e..1197471 100644
--- a/main.go
+++ b/main.go
@@ -12,10 +12,15 @@ import (
func main() {
var input_file string
+ var routine_num int
+ var mode string
flag.StringVar(&input_file, "input", "", "input file name")
+ flag.IntVar(&routine_num, "routine", 500, "working goroutine number")
+ flag.StringVar(&mode, "mode", "resolver", "probe mode (resolver & domain)")
flag.Parse()
input_pool := make(chan string, 500)
- result_pool := make(chan method.CombinedResult)
+ result_pool := make(chan method.CombinedResult, 500)
+ bool_pool := make(chan bool, 500)
var test_tasks sync.WaitGroup
var process_tasks sync.WaitGroup
@@ -28,11 +33,24 @@ func main() {
logger := log.New(logfile, "", log.LstdFlags)
go utils.RetrieveLines(input_pool, input_file)
- method.CombinedMeasurement(input_pool, result_pool, 500, &test_tasks, logger)
+ if mode == "resolver" {
+ method.CombinedMeasurement(input_pool, result_pool, routine_num, &test_tasks, logger)
+ } else if mode == "domain" {
+ servers := utils.RetrieveLinesToSlice("data/server_list")
+ method.HTTPSRecordMeasurement(servers, input_pool, bool_pool, routine_num, &test_tasks, logger)
+ }
process_tasks.Add(1)
- go method.CombinedResultProcess(result_pool, &process_tasks)
+ if mode == "resolver" {
+ go method.CombinedResultProcess(result_pool, &process_tasks)
+ } else if mode == "domain" {
+ go method.HTTPSRecordResultProcess(bool_pool, &process_tasks)
+ }
test_tasks.Wait()
- close(result_pool)
+ if mode == "resolver" {
+ close(result_pool)
+ } else if mode == "domain" {
+ close(bool_pool)
+ }
process_tasks.Wait()
time.Sleep(time.Second)
}