Versions in this module Expand all Collapse all v4 v4.0.5 Oct 8, 2023 Changes in this version + var ErrHandshakeTimeout = errors.New("handshake timeout (no response)") + var ErrMissingStateMachine = errors.New("client state machine is nil") + type Client struct + AcctApplicationID []*diam.AVP + AuthApplicationID []*diam.AVP + Dict *dict.Parser + EnableWatchdog bool + Handler *StateMachine + MaxRetransmits uint + RetransmitInterval time.Duration + SupportedVendorID []*diam.AVP + VendorSpecificApplicationID []*diam.AVP + WatchdogInterval time.Duration + WatchdogStream uint + func (cli *Client) Dial(addr string) (diam.Conn, error) + func (cli *Client) DialExt(network, addr string, timeout time.Duration, laddr net.Addr) (diam.Conn, error) + func (cli *Client) DialNetwork(network, addr string) (diam.Conn, error) + func (cli *Client) DialNetworkBind(network, laddr, raddr string) (diam.Conn, error) + func (cli *Client) DialNetworkTLS(network, addr, certFile, keyFile string, laddr net.Addr) (diam.Conn, error) + func (cli *Client) DialTLS(addr, certFile, keyFile string) (diam.Conn, error) + func (cli *Client) DialTLSExt(network, addr, certFile, keyFile string, timeout time.Duration, laddr net.Addr) (diam.Conn, error) + func (cli *Client) DialTLSTimeout(addr, certFile, keyFile string, timeout time.Duration) (diam.Conn, error) + func (cli *Client) DialTimeout(addr string, timeout time.Duration) (diam.Conn, error) + func (cli *Client) NewConn(rw net.Conn, addr string) (diam.Conn, error) + type HandshakeNotifier interface + HandshakeNotify func() <-chan diam.Conn + type Settings struct + FirmwareRevision datatype.Unsigned32 + HostIPAddress datatype.Address + HostIPAddresses []datatype.Address + OriginHost datatype.DiameterIdentity + OriginRealm datatype.DiameterIdentity + OriginStateID datatype.Unsigned32 + ProductName datatype.UTF8String + VendorID datatype.Unsigned32 + type StateMachine struct + func New(settings *Settings) *StateMachine + func (sm *StateMachine) Error(err *diam.ErrorReport) + func (sm *StateMachine) ErrorReports() <-chan *diam.ErrorReport + func (sm *StateMachine) Handle(cmd string, handler diam.Handler) + func (sm *StateMachine) HandleFunc(cmd string, handler diam.HandlerFunc) + func (sm *StateMachine) HandleIdx(cmd diam.CommandIndex, handler diam.Handler) + func (sm *StateMachine) HandshakeNotify() <-chan diam.Conn + func (sm *StateMachine) ServeDIAM(c diam.Conn, m *diam.Message) + func (sm *StateMachine) Settings() *Settings + type SupportedApp struct + AppType string + ID uint32 + Vendor uint32 + func PrepareSupportedApps(d *dict.Parser) []*SupportedApp