mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
renamed json to rpc_encoding
This commit is contained in:
@@ -36,6 +36,9 @@ import (
|
||||
const (
|
||||
DISABLED = "disabled"
|
||||
INTERNAL = "internal"
|
||||
JSON = "json"
|
||||
GOB = "gob"
|
||||
DBTYPE = "postgres"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -43,15 +46,15 @@ var (
|
||||
redis_server = "127.0.0.1:6379" // redis address host:port
|
||||
redis_db = 10 // redis database number
|
||||
|
||||
rater_enabled = false // start standalone server (no balancer)
|
||||
rater_balancer = DISABLED // balancer address host:port
|
||||
rater_listen = "127.0.0.1:1234" // listening address host:port
|
||||
rater_json = false // use JSON for RPC encoding
|
||||
rater_enabled = false // start standalone server (no balancer)
|
||||
rater_balancer = DISABLED // balancer address host:port
|
||||
rater_listen = "127.0.0.1:1234" // listening address host:port
|
||||
rater_rpc_encoding = GOB // use JSON for RPC encoding
|
||||
|
||||
balancer_enabled = false
|
||||
balancer_listen_rater = "127.0.0.1:2000" // Rater server address
|
||||
balancer_listen = "127.0.0.1:2001" // Json RPC server address
|
||||
balancer_json = false // use JSON for RPC encoding
|
||||
balancer_rpc_encoding = GOB // use JSON for RPC encoding
|
||||
|
||||
scheduler_enabled = false
|
||||
|
||||
@@ -59,19 +62,20 @@ var (
|
||||
sm_rater = INTERNAL // address where to access rater. Can be internal, direct rater address or the address of a balancer
|
||||
sm_freeswitch_server = "localhost:8021" // freeswitch address host:port
|
||||
sm_freeswitch_pass = "ClueCon" // reeswitch address host:port
|
||||
sm_json = false // use JSON for RPC encoding
|
||||
sm_rpc_encoding = GOB // use JSON for RPC encoding
|
||||
|
||||
mediator_enabled = false
|
||||
mediator_cdr_file = "Master.csv" // Freeswitch Master CSV CDR file.
|
||||
mediator_result_file = "out.csv" // Generated file containing CDR and price info.
|
||||
mediator_rater = INTERNAL // address where to access rater. Can be internal, direct rater address or the address of a balancer
|
||||
mediator_host = "localhost" // The host to connect to. Values that start with / are for UNIX domain sockets.
|
||||
mediator_port = "5432" // The port to bind to.
|
||||
mediator_db = "cgrates" // The name of the database to connect to.
|
||||
mediator_user = "" // The user to sign in as.
|
||||
mediator_password = "" // The user's password.
|
||||
mediator_json = false // use JSON for RPC encoding
|
||||
mediator_skipdb = false
|
||||
mediator_enabled = false
|
||||
mediator_cdr_file = "Master.csv" // Freeswitch Master CSV CDR file.
|
||||
mediator_result_file = "out.csv" // Generated file containing CDR and price info.
|
||||
mediator_rater = INTERNAL // address where to access rater. Can be internal, direct rater address or the address of a balancer
|
||||
mediator_type = DBTYPE
|
||||
mediator_host = "localhost" // The host to connect to. Values that start with / are for UNIX domain sockets.
|
||||
mediator_port = "5432" // The port to bind to.
|
||||
mediator_db = "cgrates" // The name of the database to connect to.
|
||||
mediator_user = "" // The user to sign in as.
|
||||
mediator_password = "" // The user's password.
|
||||
mediator_rpc_encoding = GOB // use JSON for RPC encoding
|
||||
mediator_skipdb = false
|
||||
|
||||
stats_enabled = false
|
||||
stats_listen = "127.0.0.1:8000" // Web server address (for stat reports)
|
||||
@@ -92,12 +96,12 @@ func readConfig(configFn string) {
|
||||
rater_enabled, _ = c.GetBool("rater", "enabled")
|
||||
rater_balancer, _ = c.GetString("rater", "balancer")
|
||||
rater_listen, _ = c.GetString("rater", "listen")
|
||||
rater_json, _ = c.GetBool("rater", "json")
|
||||
rater_rpc_encoding, _ = c.GetString("rater", "rpc_encoding")
|
||||
|
||||
balancer_enabled, _ = c.GetBool("balancer", "enabled")
|
||||
balancer_listen_rater, _ = c.GetString("balancer", "listen_rater")
|
||||
balancer_listen, _ = c.GetString("balancer", "listen")
|
||||
balancer_json, _ = c.GetBool("balancer", "json")
|
||||
balancer_rpc_encoding, _ = c.GetString("balancer", "rpc_encoding")
|
||||
|
||||
scheduler_enabled, _ = c.GetBool("scheduler", "enabled")
|
||||
|
||||
@@ -105,25 +109,26 @@ func readConfig(configFn string) {
|
||||
sm_rater, _ = c.GetString("session_manager", "rater")
|
||||
sm_freeswitch_server, _ = c.GetString("session_manager", "freeswitch_server")
|
||||
sm_freeswitch_pass, _ = c.GetString("session_manager", "freeswitch_pass")
|
||||
sm_json, _ = c.GetBool("session_manager", "json")
|
||||
sm_rpc_encoding, _ = c.GetString("session_manager", "rpc_encoding")
|
||||
|
||||
mediator_enabled, _ = c.GetBool("mediator", "enabled")
|
||||
mediator_cdr_file, _ = c.GetString("mediator", "cdr_file")
|
||||
mediator_result_file, _ = c.GetString("mediator", "result_file")
|
||||
mediator_rater, _ = c.GetString("mediator", "rater")
|
||||
mediator_type, _ = c.GetString("mediator", "db_type")
|
||||
mediator_host, _ = c.GetString("mediator", "db_host")
|
||||
mediator_port, _ = c.GetString("mediator", "db_port")
|
||||
mediator_db, _ = c.GetString("mediator", "db_name")
|
||||
mediator_user, _ = c.GetString("mediator", "db_user")
|
||||
mediator_password, _ = c.GetString("mediator", "db_passwd")
|
||||
mediator_json, _ = c.GetBool("mediator", "json")
|
||||
mediator_rpc_encoding, _ = c.GetString("mediator", "rpc_encoding")
|
||||
mediator_skipdb, _ = c.GetBool("mediator", "skipdb")
|
||||
|
||||
stats_enabled, _ = c.GetBool("stats_server", "enabled")
|
||||
stats_listen, _ = c.GetString("stats_server", "listen")
|
||||
}
|
||||
|
||||
func listenToRPCRequests(rpcResponder interface{}, rpcAddress string, json bool) {
|
||||
func listenToRPCRequests(rpcResponder interface{}, rpcAddress string, rpc_encoding string) {
|
||||
l, err := net.Listen("tcp", rpcAddress)
|
||||
defer l.Close()
|
||||
|
||||
@@ -144,7 +149,7 @@ func listenToRPCRequests(rpcResponder interface{}, rpcAddress string, json bool)
|
||||
}
|
||||
|
||||
timespans.Logger.Info(fmt.Sprintf("connection started: %v", conn.RemoteAddr()))
|
||||
if json {
|
||||
if rpc_encoding == JSON {
|
||||
// log.Print("json encoding")
|
||||
go jsonrpc.ServeConn(conn)
|
||||
} else {
|
||||
@@ -164,10 +169,15 @@ func listenToHttpRequests() {
|
||||
}
|
||||
|
||||
func startMediator(responder *timespans.Responder) {
|
||||
db, err := sql.Open("postgres", fmt.Sprintf("host=%s port=%s dbname=%s user=%s password=%s sslmode=disable", mediator_host, mediator_port, mediator_db, mediator_user, mediator_password))
|
||||
//defer db.Close()
|
||||
if err != nil {
|
||||
timespans.Logger.Err(fmt.Sprintf("failed to open the database: %v", err))
|
||||
var db *sql.DB
|
||||
var err error
|
||||
if !mediator_skipdb {
|
||||
db, err = sql.Open("postgres", fmt.Sprintf("host=%s port=%s dbname=%s user=%s password=%s sslmode=disable", mediator_host, mediator_port, mediator_db, mediator_user, mediator_password))
|
||||
//defer db.Close()
|
||||
|
||||
if err != nil {
|
||||
timespans.Logger.Err(fmt.Sprintf("failed to open the database: %v", err))
|
||||
}
|
||||
}
|
||||
var connector sessionmanager.Connector
|
||||
if mediator_rater == INTERNAL {
|
||||
@@ -175,7 +185,7 @@ func startMediator(responder *timespans.Responder) {
|
||||
} else {
|
||||
var client *rpc.Client
|
||||
var err error
|
||||
if mediator_json {
|
||||
if mediator_rpc_encoding == JSON {
|
||||
client, err = jsonrpc.Dial("tcp", mediator_rater)
|
||||
} else {
|
||||
client, err = rpc.Dial("tcp", mediator_rater)
|
||||
@@ -197,7 +207,7 @@ func startSessionManager(responder *timespans.Responder) {
|
||||
} else {
|
||||
var client *rpc.Client
|
||||
var err error
|
||||
if sm_json {
|
||||
if sm_rpc_encoding == JSON {
|
||||
client, err = jsonrpc.Dial("tcp", sm_rater)
|
||||
} else {
|
||||
client, err = rpc.Dial("tcp", sm_rater)
|
||||
@@ -244,13 +254,13 @@ func main() {
|
||||
}
|
||||
responder := ×pans.Responder{ExitChan: exitChan}
|
||||
if rater_enabled && !balancer_enabled {
|
||||
go listenToRPCRequests(responder, rater_listen, rater_json)
|
||||
go listenToRPCRequests(responder, rater_listen, rater_rpc_encoding)
|
||||
}
|
||||
if balancer_enabled {
|
||||
go stopBalancerSingnalHandler()
|
||||
go listenToRPCRequests(new(RaterServer), balancer_listen_rater, false)
|
||||
go listenToRPCRequests(new(RaterServer), balancer_listen_rater, GOB)
|
||||
responder.Bal = bal
|
||||
go listenToRPCRequests(responder, balancer_listen, balancer_json)
|
||||
go listenToRPCRequests(responder, balancer_listen, balancer_rpc_encoding)
|
||||
if rater_enabled {
|
||||
bal.AddClient("local", new(timespans.ResponderWorker))
|
||||
}
|
||||
|
||||
@@ -31,12 +31,12 @@ func TestConfig(t *testing.T) {
|
||||
rater_enabled != true ||
|
||||
rater_balancer != "test" ||
|
||||
rater_listen != "test" ||
|
||||
rater_json != true ||
|
||||
rater_rpc_encoding != "test" ||
|
||||
|
||||
balancer_enabled != true ||
|
||||
balancer_listen_rater != "test" ||
|
||||
balancer_listen != "test" ||
|
||||
balancer_json != true ||
|
||||
balancer_rpc_encoding != "test" ||
|
||||
|
||||
scheduler_enabled != true ||
|
||||
|
||||
@@ -44,18 +44,19 @@ func TestConfig(t *testing.T) {
|
||||
sm_rater != "test" ||
|
||||
sm_freeswitch_server != "test" ||
|
||||
sm_freeswitch_pass != "test" ||
|
||||
sm_json != true ||
|
||||
sm_rpc_encoding != "test" ||
|
||||
|
||||
mediator_enabled != true ||
|
||||
mediator_cdr_file != "test" ||
|
||||
mediator_result_file != "test" ||
|
||||
mediator_rater != "test" ||
|
||||
mediator_type != "test" ||
|
||||
mediator_host != "test" ||
|
||||
mediator_port != "test" ||
|
||||
mediator_db != "test" ||
|
||||
mediator_user != "test" ||
|
||||
mediator_password != "test" ||
|
||||
mediator_json != true ||
|
||||
mediator_rpc_encoding != "test" ||
|
||||
mediator_skipdb != true ||
|
||||
stats_enabled != true ||
|
||||
stats_listen != "test" {
|
||||
@@ -64,21 +65,22 @@ func TestConfig(t *testing.T) {
|
||||
t.Log(rater_enabled)
|
||||
t.Log(rater_balancer)
|
||||
t.Log(rater_listen)
|
||||
t.Log(rater_json)
|
||||
t.Log(rater_rpc_encoding)
|
||||
t.Log(balancer_enabled)
|
||||
t.Log(balancer_listen_rater)
|
||||
t.Log(balancer_listen)
|
||||
t.Log(balancer_json)
|
||||
t.Log(balancer_rpc_encoding)
|
||||
t.Log(scheduler_enabled)
|
||||
t.Log(sm_enabled)
|
||||
t.Log(sm_rater)
|
||||
t.Log(sm_freeswitch_server)
|
||||
t.Log(sm_freeswitch_pass)
|
||||
t.Log(sm_json)
|
||||
t.Log(sm_rpc_encoding)
|
||||
t.Log(mediator_enabled)
|
||||
t.Log(mediator_cdr_file)
|
||||
t.Log(mediator_result_file)
|
||||
t.Log(mediator_rater)
|
||||
t.Log(mediator_type)
|
||||
t.Log(mediator_host)
|
||||
t.Log(mediator_port)
|
||||
t.Log(mediator_db)
|
||||
|
||||
@@ -22,13 +22,13 @@ redis_db = 10 # redis database number
|
||||
enabled = true # Start balancer server
|
||||
listen = 127.0.0.1:2001 # Balancer listen interface
|
||||
listen_rater = 127.0.0.1:2000 # Balancer listen interface
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[rater]
|
||||
enabled = true
|
||||
listen = 127.0.0.1:2001 # listening address hostort, internal for internal communication only
|
||||
balancer = disabled # if defined it will register to balancer as worker
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[stats_server]
|
||||
enabled = true
|
||||
|
||||
@@ -22,13 +22,13 @@ redis_db = 10 # redis database number
|
||||
enabled = true # Start balancer server
|
||||
listen = 127.0.0.1:2001 # Balancer listen interface
|
||||
listen_rater = 127.0.0.1:2000 # Balancer listen interface
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[rater]
|
||||
enabled = false
|
||||
listen = 127.0.0.1:2001 # listening address hostort, internal for internal communication only
|
||||
balancer = 127.0.0.1:2000 # if defined it will register to balancer as worker
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[stats_server]
|
||||
enabled = true
|
||||
|
||||
@@ -22,13 +22,13 @@ redis_db = 10 # redis database number
|
||||
enabled = false # Start balancer server
|
||||
listen = 127.0.0.1:2001 # Balancer listen interface
|
||||
listen_rater = 127.0.0.1:2000 # Balancer listen interface
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[rater]
|
||||
enabled = true
|
||||
listen = 127.0.0.1:2001 # listening address hostort, internal for internal communication only
|
||||
balancer = disabled # if defined it will register to balancer as worker
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[mediator]
|
||||
enabled = true
|
||||
@@ -41,7 +41,7 @@ db_port = 5432 # The port to bind to.
|
||||
db_name = cgrates # The name of the database to connect to.
|
||||
db_user = # The user to sign in as.
|
||||
db_passwd = # The user's password.root
|
||||
json = true # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
skipdb = true
|
||||
|
||||
[scheduler]
|
||||
@@ -52,7 +52,7 @@ enabled = true
|
||||
rater = 127.0.0.1:2000 #address where to access rater. Can be internal, direct rater address or the address of a balancer
|
||||
freeswitch_server = localhost:8021 # freeswitch address hostort
|
||||
freeswitch_pass = ClueCon # freeswitch address hostort
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[stats_server]
|
||||
enabled = true
|
||||
|
||||
@@ -22,7 +22,7 @@ redis_db = 10 # redis database number
|
||||
enabled = true
|
||||
listen = 127.0.0.1:2001 # listening address hostort, internal for internal communication only
|
||||
balancer = disabled # if defined it will register to balancer as worker
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[mediator]
|
||||
enabled = true
|
||||
@@ -35,6 +35,6 @@ db_port = 5432 # The port to bind to.
|
||||
db_name = cgrates # The name of the database to connect to.
|
||||
db_user = # The user to sign in as.
|
||||
db_passwd = # The user's password.root
|
||||
json = true # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
skipdb = true
|
||||
|
||||
|
||||
@@ -22,4 +22,4 @@ redis_db = 10 # redis database number
|
||||
enabled = true
|
||||
listen = 127.0.0.1:2001 # listening address hostort, internal for internal communication only
|
||||
balancer = 127.0.0.1:2000 # if defined it will register to balancer as worker
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
@@ -22,7 +22,7 @@ redis_db = 10 # redis database number
|
||||
enabled = true
|
||||
listen = 127.0.0.1:2001 # listening address hostort, internal for internal communication only
|
||||
balancer = disabled # if defined it will register to balancer as worker
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[stats_server]
|
||||
enabled = true
|
||||
|
||||
@@ -22,7 +22,7 @@ redis_db = 10 # redis database number
|
||||
enabled = true
|
||||
listen = 127.0.0.1:2001 # listening address hostort, internal for internal communication only
|
||||
balancer = disabled # if defined it will register to balancer as worker
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[scheduler]
|
||||
enabled = true
|
||||
|
||||
@@ -22,12 +22,12 @@ redis_db = 10 # redis database number
|
||||
enable = true
|
||||
listen = 127.0.0.1:2001 # listening address hostort, internal for internal communication only
|
||||
balancer = disabled # if defined it will register to balancer as worker
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
[session_manager]
|
||||
enabled = true
|
||||
rater = internal #address where to access rater. Can be internal, direct rater address or the address of a balancer
|
||||
freeswitch_server = localhost:8021 # freeswitch address hostort
|
||||
freeswitch_pass = ClueCon # freeswitch address hostort
|
||||
json = false # use JSON for RPC encoding
|
||||
rpc_encoding = gob # use JSON for RPC encoding
|
||||
|
||||
|
||||
@@ -22,13 +22,13 @@ redis_db = 1 # redis database number
|
||||
enabled = true # Start balancer server
|
||||
listen = test # Balancer listen interface
|
||||
listen_rater = test # Balancer listen interface
|
||||
json = true # use JSON for RPC encoding
|
||||
rpc_encoding = test # use JSON for RPC encoding
|
||||
|
||||
[rater]
|
||||
enabled = true
|
||||
listen = test # listening address hostort, internal for internal communication only
|
||||
balancer = test # if defined it will register to balancer as worker
|
||||
json = true # use JSON for RPC encoding
|
||||
rpc_encoding = test # use JSON for RPC encoding
|
||||
|
||||
[mediator]
|
||||
enabled = true
|
||||
@@ -41,7 +41,7 @@ db_port = test # The port to bind to.
|
||||
db_name = test # The name of the database to connect to.
|
||||
db_user = test # The user to sign in as.
|
||||
db_passwd = test # The user's password.root
|
||||
json = true # use JSON for RPC encoding
|
||||
rpc_encoding = test # use JSON for RPC encoding
|
||||
skipdb = true
|
||||
|
||||
[scheduler]
|
||||
@@ -52,7 +52,7 @@ enabled = true
|
||||
rater = test #address where to access rater. Can be internal, direct rater address or the address of a balancer
|
||||
freeswitch_server = test # freeswitch address hostort
|
||||
freeswitch_pass = test # freeswitch address hostort
|
||||
json = true # use JSON for RPC encoding
|
||||
rpc_encoding = test # use JSON for RPC encoding
|
||||
|
||||
[stats_server]
|
||||
enabled = true
|
||||
|
||||
Reference in New Issue
Block a user