Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:25
erlang
4163-megaco-Types-and-spec-for-megaco_flex_scan...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 4163-megaco-Types-and-spec-for-megaco_flex_scanner-scan-2.patch of Package erlang
From e3ca30aae22d2637c2cddd90c8b958b9170128d6 Mon Sep 17 00:00:00 2001 From: Micael Karlberg <bmk@erlang.org> Date: Mon, 8 Jan 2024 16:24:21 +0100 Subject: [PATCH 43/46] [megaco] Types and spec for megaco_flex_scanner:scan/2 OTP-18920 --- lib/megaco/doc/src/megaco_flex_scanner.xml | 5 +++++ lib/megaco/src/flex/megaco_flex_scanner.erl | 14 ++++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/megaco/doc/src/megaco_flex_scanner.xml b/lib/megaco/doc/src/megaco_flex_scanner.xml index 2a04721b4b..31ee7285bb 100644 --- a/lib/megaco/doc/src/megaco_flex_scanner.xml +++ b/lib/megaco/doc/src/megaco_flex_scanner.xml @@ -157,8 +157,12 @@ megaco_version() = integer() >= 1 </func> <func> + <name name="scan" arity="2" clause_i="1" since=""/> + <!-- <name since="">scan(Binary, PortOrPorts) -> {ok, Tokens, Version, LatestLine} | {error, Reason, LatestLine} </name> + --> <fsummary></fsummary> + <!-- <type> <v>Binary = binary()</v> <v>PortOrPorts = megaco_ports()</v> @@ -167,6 +171,7 @@ megaco_version() = integer() >= 1 <v>LatestLine = integer()</v> <v>Reason = term()</v> </type> + --> <desc> <p>Scans a megaco message and generates a token list to be passed on the parser. </p> </desc> diff --git a/lib/megaco/src/flex/megaco_flex_scanner.erl b/lib/megaco/src/flex/megaco_flex_scanner.erl index 4c0bac739e..721da4a89e 100644 --- a/lib/megaco/src/flex/megaco_flex_scanner.erl +++ b/lib/megaco/src/flex/megaco_flex_scanner.erl @@ -192,6 +192,16 @@ stop(Ports) when is_list(Ports) -> %% Scan a message %%---------------------------------------------------------------------- +-spec scan(Binary, PortOrPorts) -> + {ok, Tokens, Version, LatestLine} | + {error, Reason, LatestLine} when + Binary :: binary(), + PortOrPorts :: megaco_ports(), + Tokens :: list(), + Version :: megaco_encoder:protocol_version(), + LatestLine :: non_neg_integer(), + Reason :: term(). + scan(Binary, Port) when is_port(Port) -> do_scan(Binary, Port); scan(Binary, Ports) when is_tuple(Ports) -> @@ -202,8 +212,8 @@ do_scan(Binary, Port) -> [] -> receive {tokens, Tokens, LatestLine} -> - Vsn = version(Tokens), - {ok, Tokens, Vsn, LatestLine} + Version = version(Tokens), + {ok, Tokens, Version, LatestLine} after 5000 -> {error, "Driver term send failure", 1} end; -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor