Age | Commit message (Collapse) | Author |
|
* lukas/stdlib/maps_iterators/OTP-14012:
erts: Limit size of first iterator for hashmaps
Update primary bootstrap
Update preloaded modules
erts: Remove erts_internal:maps_to_list/2
stdlib: Make io_lib and io_lib_pretty use maps iterator
erts: Implement batching maps:iterator
erts: Implement maps path iterator
erts: Implement map iterator using a stack
stdlib: Introduce maps iterator API
Conflicts:
bootstrap/lib/stdlib/ebin/io_lib.beam
bootstrap/lib/stdlib/ebin/io_lib_pretty.beam
erts/emulator/beam/bif.tab
erts/preloaded/ebin/erlang.beam
erts/preloaded/ebin/erts_internal.beam
erts/preloaded/ebin/zlib.beam
|
|
|
|
This iterator implementation fetches multiple elements to
iterate over in one call to erts_internal:maps_next instead
of one at a time. This means that the memory usage will go
up for the iterator as we are buffering elements, but the
usage is still bounded.
In this implementation the max memory usage is 1000 words.
Using this approach makes the iterator as fast as using
maps:to_list, so maps:iterator/2 has been removed.
|
|
Refactor supervisor, and store children in a map instead of a list
OTP-14586
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Implement new uri_string module in stdlib
|
|
|
|
compose_query/{1,2} and dissect_query/1 removed as the implemented
specification (HTML 2.0) is old. They will be re-implemented based
on HTML5.
|
|
|
|
|
|
|
|
|
|
* maint:
stdlib: Fix a minor issue with the qlc suite
|
|
|
|
When comparing the process dictionary before and after a test, only
(a sorted list of) qlc keys are compared.
|
|
Implements the following Syntax-Based Normalizations:
- Case Normalization
- Percent-Encoding Normalization
- Path Segment Normalization
- Scheme-Based Normalization
- HTTP(S)
- Basic support for FTP, SSH, SFTP, TFTP
|
|
uri_map() updated to allow 'undefined' ports in order to align
the implementation with RFC 3986:
port = *DIGIT
An 'undefined' port is mapped to a ":" during recompose operation.
|
|
|
|
|
|
|
|
|
|
|
|
Update list of supported separators:
- escaped_amp (default): "&"
- amp: "&"
- semicolon: ";"
|
|
|
|
|
|
|
|
- transcode/2 flattens input lists in order to be able to handle
lists with percent-encoded parts that are split into muliple
list and binary segments.
- Add additional tests for transcoding mixed lists.
|
|
Previously when parsing queries the first "?" was part of the
parsed query in the result Map. This behavior has been changed
to follow the patterns used with other URI components and to
not include the special character(s) that mark the start of a
specific component.
|
|
|
|
- Add property tests using PropEr.
- Add new testcases to uri_string_SUITE.
- Improve calculation of parsed binary.
- Verify if input to parse() is UTF8 encoded.
- Update is_valid_map(): added check for path
and host.
|
|
- Improved calculation of parsed binary.
- Added tests for special corner cases.
- Fixed dialyzer warnings.
|
|
- Implemented recompose function with percent-encoding and
validation of IPv4/IPv6 addresses.
- Added test for recompose that uses a generated test
vector (URI combinations based on a fix set of URI
components).
- Added test for parse-recompose using a generated
test vector.
- Removed parsing functions for lists. Lists are converted to
binary before parsing.
|
|
|
|
|
|
|
|
|
|
base64:decode(List) optimized reimplementation
OTP-14624
|
|
* maint:
fix win32 share filename join/split (#1604)
Correct io_vec handling
|
|
Handle UNC (shared) path on win32, previously "//dir/.." and "\\\\dir\.." was cleaned up to
"/dir/.." which was not correct.
OTP-14693
|
|
OTP-13764
Implement uniform floats with decreasing distance towards 0.0
|
|
|
|
|
|
* maint:
stdlib: Make ets:i/1 exit cleaner upon ^D (old Erlang shell)
|