aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2013-02-11Add transport_opt() length_errorsAnders Svensson
The value determines whether or not an unexpected message length in the header of an incoming messages causes the peer process to exit, the message to be discarded or handled as usual. The latter may only be appropriate for message-oriented transport (eg. SCTP) since stream-oriented transport (eg. TCP) may not be able to recover the message boundary once a length error has occurred.
2013-02-10Only start a fragment timer when there's something to flushAnders Svensson
2013-02-10Simplify and document diameter_tcp fragment timerAnders Svensson
Don't start a new timer with each incoming message. Instead, start a timer at timeout and flush after two successive timeouts with no message reception.
2013-02-10Comment fixAnders Svensson
2013-02-10Remove upgrade code not needed after application restartAnders Svensson
Which will be the case in R16B.
2013-02-08Remove trailing whitespaceAnders Svensson
2013-02-08Tweak service interface towards diameter_peerAnders Svensson
2013-02-08Split message handling in diameter_service into diameter_trafficAnders Svensson
Traffic handling is connected to the service implementation through the pick_peer callback and failover but diameter_service was getting unwieldy as home to both the service process and traffic handling.
2013-02-08Simplify request recordAnders Svensson
In particular, remove fields containing values that are known (as of the preceding commit) to the request process.
2013-02-08Move failover out of service processAnders Svensson
In order to be able to remove fields from the request process that don't need to be there and do less in the service process. The pick_peer callback now takes place in the request process in the case of immutable state, just as in the case of the initial send.
2013-02-08Update traffic suite to test both RFC 3588 and 6733 dictionariesAnders Svensson
2013-02-08Update capx suite to test both RFC 3588 and 6733 dictionariesAnders Svensson
2013-02-08Add exprecs '#new-'/1 clause taking list argumentAnders Svensson
As an inverse to '#get-'/1 in the preceding commit.
2013-02-08Add exprecs '#get-'/1 for transforming records into listsAnders Svensson
The generated '#get-'/1 has one clause for each exported record r, whose definition is equivalent to the following. '#get-'(#r{} = Rec) -> [r | lists:zip(record_info(r, fields), tl(tuple_to_list(Rec)))]; The record name at the head of the list is the same format that diameter accepts for outgoing message.
2013-02-08Document the existence of the RFC 6733 dictionariesAnders Svensson
2013-02-08Don't hardcode common dictionaryAnders Svensson
Instead, use whatever dictionary a transport has configured as supporting application id 0. This is to support the updated RFC 6733 dictionaries (which bring with them updated records) and also to be able to transparently support any changed semantics (eg. 5xxx in answer-message).
2013-02-08Add RFC 6733 dictionariesAnders Svensson
The RFC 6733 accounting dictionary includes rfc6733 in its name. The RFC 3588 dictionary doesn't and is left as-is for backwards compatibility.
2013-02-08Fix testcases in event suiteAnders Svensson
The transition INITIAL -> DOWN (fixed in the preceding commit) was wrong.
2013-02-08Fix faulty watchdog transition INITIAL -> DOWNAnders Svensson
There is no such transition in RFC 3539, the state remains in INITIAL.
2013-02-08Fix faulty watchdog transition DOWN -> INITIALAnders Svensson
This was the result of the watchdog process exiting as a consequence of peer death in some casesi, causing a restarted transport to enter INITIAL when it should enter REOPEN. The watchdog now remains alive as long as peer shutdown isn't requested and a 'close' message to the service process (instead of watchdog death) generates 'closed' events from the service.
2013-02-08Comment fixesAnders Svensson
2013-02-08Rename records peer/conn -> watchdog/peer in diameter_serviceAnders Svensson
That is, make the naming match that of the corresponding modules. This has long been fairly confusing.
2013-02-08Add testcases to traffic suiteAnders Svensson
That check for unexpected entries in the request table.
2013-02-08Simplify watchdog transitions in service processAnders Svensson
In particular, use watchdog messages as input and do away with the older connection_up/down (and other) messages. Also, only maintain the watchdog state, not the older up/down op state.
2013-02-08Simplify transport shutdownAnders Svensson
Service process informs the watchdog process which informs the peer process. (Instead of going directly to the latter in one case.)
2013-02-08Remove upgrade code not needed after application restartAnders Svensson
Which will be the case with R16B in this case.
2013-02-08Tweak (make) silent rules supportAnders Svensson
2013-01-29Prepare releaseOTP_R16A_RELEASE_CANDIDATEErlang/OTP
2013-01-29Revert "Prepare release"Sverker Eriksson
This reverts commit a0e362765d9d4afb0211f49eb787d2139b3eb7be. Conflicts: erts/vsn.mk
2013-01-29Merge branch 'rickard/r16/port-optimizations/OTP-10336'Rickard Green
* rickard/r16/port-optimizations/OTP-10336: Fix spelling in communication.xml Fix unmanaged thread progress delay
2013-01-29Fix spelling in communication.xmlRickard Green
Thanks to Richard O'Keefe
2013-01-29Fix unmanaged thread progress delayRickard Green
2013-01-28Merge branch 'rickard/async-default/OTP-10736'Rickard Green
* rickard/async-default/OTP-10736: Use no async threads for erlc
2013-01-28Revert "erts: Remove forgotten vxworks includes"Björn-Egil Dahlberg
This reverts commit 624751813b30a367c8255e86f26f7342aeb33cbc. Overzealous removal of vxworks includes
2013-01-28Merge branch 'sa/dialyzer-minor-fixes/R16A'Fredrik Gustafsson
* sa/dialyzer-minor-fixes/R16A: Fix wording of error message Fix reference results of a Dialyzer test
2013-01-28Fix wording of error messageStavros Aronis
2013-01-28Fix reference results of a Dialyzer testStavros Aronis
2013-01-28Merge branch 'pan/wx_and_gcc45'Patrik Nyblom
* pan/wx_and_gcc45: Make Mac wx use Apple compilers regardless of $CC
2013-01-28Merge branch 'sverk/ets-write_concurrency-locks'Sverker Eriksson
* sverk/ets-write_concurrency-locks: erts,stdlib: Increase number of locks for write_concurrency OTP-10787
2013-01-28Merge branch 'sverk/code_write_permission-assert'Sverker Eriksson
* sverk/code_write_permission-assert: erts: Fix ASSERT crash in erts_try_seize_code_write_permission
2013-01-28erts: Fix ASSERT crash in erts_try_seize_code_write_permissionSverker Eriksson
ASSERT(code_writing_process != c_p); The assert was actually harmless and could be removed as one solution. But I think it's better to keep it as a way to catch bugs that would otherwise lead to horrible deadlocks if a thread "forgets" to call erts_release_code_write_permission(). As a result erts_release_code_write_permission() must be called BEFORE resuming the suspended process.
2013-01-28Merge branch 'sverk/enc_atom-opt'Sverker Eriksson
* sverk/enc_atom-opt: erts: Optimize atom encoding to use memcpy for pure ascii erts: Refactor erts_atom_get to use ErtsAtomEncoding
2013-01-28Merge branch 'lukas/erts/fix_driver_call_memleak/OTP-10336'Lukas Larsson
* lukas/erts/fix_driver_call_memleak/OTP-10336: Fix memory leak in driver call functionality
2013-01-28Fix memory leak in driver call functionalityLukas Larsson
2013-01-28Merge branch 'bmk/inets/prepare-for-release'Micael Karlberg
2013-01-28Merge branch 'fredrik/ssh/dialyzer-and-doc'Fredrik Gustafsson
* fredrik/ssh/dialyzer-and-doc: Fixed some broken links in ssh doc Fixed some ssh documentation
2013-01-28Fixed some broken links in ssh docFredrik Gustafsson
2013-01-28Merge branch 'lukas/r16a/testcases'Lukas Larsson
* lukas/r16a/testcases: Do not crash init_per_suite when nif load fails
2013-01-28Merge branch 'sverk/ic/tests'Sverker Eriksson
* sverk/ic/tests: ic: Making tests pass after changes in erl_interface and jinterface ic: Revert --enable-silent-rules for test Makefile OTP-10785
2013-01-28Merge branch 'lukas/erl_interface/test_atom_as_functions/OTP-10753'Lukas Larsson
* lukas/erl_interface/test_atom_as_functions/OTP-10753: Return if size test fails Add utf8 atom encode and decode testcases Validate UTF8/ASCII when buf is NULL