Age | Commit message (Collapse) | Author |
|
* anders/diameter/R15B02_release:
Dialyzer spec fix
OTP-10243
|
|
|
|
* anders/diameter/service_info/OTP-10213:
Minor counting fix
Tweak info presentation
Fix missing transport service_info when there are no watchdogs
|
|
* anders/diameter/multiple_transport_modules/OTP-9885:
Dialyzer spec fixes
|
|
|
|
|
|
* anders/diameter/callback_isolation/OTP-10215:
Don't let peer_up/peer_down take down the service process
Turn last field of #diameter_app{} into an options list
|
|
* anders/diameter/service_info/OTP-10213:
Include transport-specific service info
Make service_info behave with nested item lists and non-atoms
Add 'connections' and 'peers' service_info
|
|
* anders/diameter/watchdog_events/OTP-10212:
Minor spec fix
Maintain watchdog states in service_info
Add events for watchdog state transitions
|
|
* anders/diameter/statistics/OTP-9608:
Improve statistics test cases
Statistics fixes
|
|
* anders/diameter/capabilities_encode/OTP-10203:
Deal with the fact that capabilities config may be incomplete
|
|
* anders/diameter/avp_errors/OTP-10202:
Allow an answer to opt out of setting Result-Code/Failed-AVP
Set Result-Code as an optional AVP in reply to request containing errors
Fix Destination-Host/Realm extraction for arbitrary dictionaries
Fix result code statistics for arbitrary dictionaries
Count incoming answers containing AVP decode errors
Fix counter typo
Encode fix
|
|
* anders/diameter/multiple_transport_modules/OTP-9885:
Maintain service_info callback data in process dictionary
Maintain pid of started transport process in process dictionary
Minor spec and backwards compatibility fix
Update example code
Update documentation
Add diameter_transport for transport start indirection
Allow multiple transport_module and transport_config
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This would previously have resulted in all of a service's connections
going down, especially bad for a server.
|
|
To make for easier adding of future options. The record is only passed
into transport modules so the only compatibility issue is with these.
(No issue for diameter_{tcp,sctp} and unlikely but theoretically
possible for any other implementations, which probably don't exist at
this point.)
|
|
|
|
These provide alternates to 'transport' that group information, and
present statistics, per transport established transport connection and
peer Origin-Host instead of per reference returned by
diameter:add_transport/2.
|
|
|
|
|
|
|
|
Statistics are deleted as a consequence of diameter:remove_transport/2.
|
|
A transport can be configured before its service so handle
insufficient configuration instead of crashing at CER/CEA encode.
|
|
By returning it in a length 1 list from a handle_request callback.
This is the aforementioned roll your own.
|
|
Previously assumed it had arity 1, which is not necessarily
the case. Whether or not we should do this is probably debatable.
There should at least be a way for the user to roll their own.
|
|
|
|
Transports are started one after the other if a connection is
not established with the timeout that can now be specified
with transport_config. For example, try an SCTP connect first,
a TCP connect if it doesn't succeed.
|
|
The code assumed the common dictionary, which was just plain wrong.
|
|
|
|
|
|
The header is used when incrementing counters. Sending answers in
the list form was broken because of this.
|
|
|
|
In particular, not before the service process has a monitor on
the watchdog since the watchdog's exit reason is meaningful.
|
|
* anders/diameter/callback_redirection/OTP-9777:
Update documentation
Use diameter_callback in relay and tls suites
Use diameter_callback in failover suite
Update app suite
Smarter diameter_callback
|
|
* anders/diameter/dict_error_identification/OTP-9639: (27 commits)
Update documentation
Improve base_rfc3588.dia formatting
Make typo fix backwards compatible
Fix base_rfc3588.dia typo
Check compiler dependencies in app suite
Move type definitions into diameter.erl
Fix interpretation of vendor id in @grouped
Add range checks on dictionary integers
Don't explicitly load inherited modules
Tweak diameter_make interface
Add format testcase to compiler suite
Add diameter_dict_util:format/1 for reconstructing a dictionary file
Make diameter_types usable with @codecs
Minor codegen tweaks
Remove unnecessary includes
Add compiler suite
Update app suite
Update codec suite
Vendor id fixes
No longer inherit common dictionary in relay dictionary
...
|
|
The module was originally just intended as a minimal callback
implementation that could be used as a template. Being able to order
just a subset of callbacks (with reasonable defaults) makes for
simpler code in many cases however so ready support for this can be
useful.
|
|
|
|
|
|
Base AVPs used for relaying and statistics are always taken from the
common dictionary. This is consistent with the way that Route-Record
is handled for one, and statistics should not rely on the dictionary
of any specific application.
|
|
This caused transport processes to be restarted even though
diameter:remove_transport/2 had removed their configuration from table.
|
|
|
|
|
|
In diameter_service:
make_packet -> make_request_packet
make_header -> make_request_header
make_reply_packet -> make_answer_packet
|
|
If a peer fsm process exits then the exit reason is received by
the service process in a 'DOWN' message. If the reason is the one
generated by diameter_peer_fsm:close/2, which is called to signal
a non-transport failure before the completion of capabilities exchange
(eg. receiving an unsuccessful CEA), then an event is sent to any
subscribers.
Also, tweak capabilities_cb return values for more informative
event data.
|