func New(url string, cfg *config.Config, credentialProvider *credentials.Credentials, rwTimeout time.Duration) wsclient.ClientServer {
	cs := &clientServer{}
	cs.URL = url
	cs.CredentialProvider = credentialProvider
	cs.AgentConfig = cfg
	cs.ServiceError = &acsError{}
	cs.RequestHandlers = make(map[string]wsclient.RequestHandler)
	cs.TypeDecoder = NewACSDecoder()
	cs.RWTimeout = rwTimeout
	return cs
}
func New(url string, cfg *config.Config, credentialProvider *credentials.Credentials, rwTimeout time.Duration) wsclient.ClientServer {
	cs := &clientServer{}
	cs.URL = url
	cs.CredentialProvider = credentialProvider
	cs.AgentConfig = cfg
	cs.ServiceError = &acsError{}
	cs.RequestHandlers = make(map[string]wsclient.RequestHandler)
	cs.TypeDecoder = NewACSDecoder()
	cs.RWTimeout = rwTimeout
	return cs
}
func New ( url string , cfg * config . Config , credentialProvider * credentials . Credentials , rwTimeout time . Duration ) wsclient . ClientServer { cs := & clientServer { } cs . URL = url cs . CredentialProvider = credentialProvider cs . AgentConfig = cfg cs . ServiceError = & acsError { } cs . RequestHandlers = make ( map [ string ] wsclient . RequestHandler ) cs . TypeDecoder = NewACSDecoder ( ) cs . RWTimeout = rwTimeout return cs }
// New returns a client/server to bidirectionally communicate with ACS
// The returned struct should have both 'Connect' and 'Serve' called upon it
// before being used.
New returns a client / server to bidirectionally communicate with ACS The returned struct should have both Connect and Serve called upon it before being used .