structured_io v0.5.0 StructuredIO.Deprecated View Source
Provides deprecated functions to StructuredIO
.
Encoding
Mixing the use of binary mode and Unicode mode results in a
StructuredIO.error/0
.
Link to this section Summary
Functions
Reads data from the specified structured_io
beginning with the specified
from
and ending with the specified through
, inclusive, using the specified
timeout
(defaults to 5,000 milliseconds)
Reads data from the specified structured_io
beginning with the specified
after_data
and ending with the specified before_data
, exclusive, using the
specified timeout
(defaults to 5,000 milliseconds)
Reads data from the specified structured_io
if and until the specified
through
is encountered, including through
, using the specified timeout
(defaults to 5,000 milliseconds)
Reads data from the specified structured_io
if and until the specified to
is encountered, excluding to
, using the specified timeout
(defaults to
5,000 milliseconds)
Asynchronously writes the specified iodata
as a binary to the specified
structured_io
Reads data from the specified structured_io
beginning with the specified
from
and ending with the specified through
, inclusive, using the specified
timeout
(defaults to 5,000 milliseconds)
Reads data from the specified structured_io
beginning with the specified
after_data
and ending with the specified before_data
, exclusive, using the
specified timeout
(defaults to 5,000 milliseconds)
Reads data from the specified structured_io
if and until the specified
through
is encountered, including through
, using the specified timeout
(defaults to 5,000 milliseconds)
Reads data from the specified structured_io
if and until the specified to
is encountered, excluding to
, using the specified timeout
(defaults to
5,000 milliseconds)
Starts a StructuredIO
process without links (outside a
supervision tree)
Starts a StructuredIO
process linked to the current process
Link to this section Functions
binread_across(GenServer.server(), binary(), binary(), timeout()) :: binary() | StructuredIO.error()
Reads data from the specified structured_io
beginning with the specified
from
and ending with the specified through
, inclusive, using the specified
timeout
(defaults to 5,000 milliseconds).
If the data read does not begin with from
, the result is an empty binary
(""
). Likewise, if through
is not encountered, the result is an empty
binary.
Examples
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.binwrite structured_io,
...> <<0, 0, 0, 1, 2, 3, 255, 255>>
:ok
iex> StructuredIO.binread_across structured_io,
...> <<0, 0, 0>>,
...> <<255, 255, 255>>
""
iex> StructuredIO.binwrite structured_io,
...> <<255, 0, 0, 0, 4, 5, 6, 255, 255, 255>>
:ok
iex> StructuredIO.binread_across structured_io,
...> <<0, 0, 0>>,
...> <<255, 255, 255>>
<<0, 0, 0, 1, 2, 3, 255, 255, 255>>
iex> StructuredIO.binread_across structured_io,
...> <<0, 0, 0>>,
...> <<255, 255, 255>>
<<0, 0, 0, 4, 5, 6, 255, 255, 255>>
iex> StructuredIO.binread_across structured_io,
...> <<0, 0, 0>>,
...> <<255, 255, 255>>
""
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.binwrite structured_io,
...> "<elem>"
:ok
iex> <<fragment1::binary-size(3), fragment2::binary>> = "😕"
iex> StructuredIO.binwrite structured_io,
...> fragment1
:ok
iex> StructuredIO.binread_across structured_io,
...> "<elem>",
...> "</elem>"
""
iex> StructuredIO.binwrite structured_io,
...> fragment2
:ok
iex> StructuredIO.binwrite structured_io,
...> "</elem>"
:ok
iex> StructuredIO.binread_across structured_io,
...> "<elem>",
...> "</elem>"
"<elem>😕</elem>"
iex> StructuredIO.binread_across structured_io,
...> "<elem>",
...> "</elem>"
""
binread_between(GenServer.server(), binary(), binary(), timeout()) :: binary() | StructuredIO.error()
Reads data from the specified structured_io
beginning with the specified
after_data
and ending with the specified before_data
, exclusive, using the
specified timeout
(defaults to 5,000 milliseconds).
If the data read does not begin with after_data
, the result is an empty
binary (""
). Likewise, if before_data
is not encountered, the result is an
empty binary.
Examples
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.binwrite structured_io,
...> <<0, 0, 0, 1, 2, 3, 255, 255>>
:ok
iex> StructuredIO.binread_between structured_io,
...> <<0, 0, 0>>,
...> <<255, 255, 255>>
""
iex> StructuredIO.binwrite structured_io,
...> <<255, 0, 0, 0, 4, 5, 6, 255, 255, 255>>
:ok
iex> StructuredIO.binread_between structured_io,
...> <<0, 0, 0>>,
...> <<255, 255, 255>>
<<1, 2, 3>>
iex> StructuredIO.binread_between structured_io,
...> <<0, 0, 0>>,
...> <<255, 255, 255>>
<<4, 5, 6>>
iex> StructuredIO.binread_between structured_io,
...> <<0, 0, 0>>,
...> <<255, 255, 255>>
""
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.binwrite structured_io,
...> "<elem>"
:ok
iex> <<fragment1::binary-size(3), fragment2::binary>> = "😕"
iex> StructuredIO.binwrite structured_io,
...> fragment1
:ok
iex> StructuredIO.binread_between structured_io,
...> "<elem>",
...> "</elem>"
""
iex> StructuredIO.binwrite structured_io,
...> fragment2
:ok
iex> StructuredIO.binwrite structured_io,
...> "</elem>"
:ok
iex> StructuredIO.binread_between structured_io,
...> "<elem>",
...> "</elem>"
"😕"
iex> StructuredIO.binread_between structured_io,
...> "<elem>",
...> "</elem>"
""
binread_through(GenServer.server(), binary(), timeout()) :: binary() | StructuredIO.error()
Reads data from the specified structured_io
if and until the specified
through
is encountered, including through
, using the specified timeout
(defaults to 5,000 milliseconds).
If through
is not encountered, the result is an empty binary (""
).
Examples
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.binwrite structured_io,
...> <<1, 2, 3, 255, 255>>
:ok
iex> StructuredIO.binread_through structured_io,
...> <<255, 255, 255>>
""
iex> StructuredIO.binwrite structured_io,
...> <<255, 4, 5, 6, 255, 255, 255>>
:ok
iex> StructuredIO.binread_through structured_io,
...> <<255, 255, 255>>
<<1, 2, 3, 255, 255, 255>>
iex> StructuredIO.binread_through structured_io,
...> <<255, 255, 255>>
<<4, 5, 6, 255, 255, 255>>
iex> StructuredIO.binread_through structured_io,
...> <<255, 255, 255>>
""
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> <<fragment1::binary-size(3), fragment2::binary>> = "😕"
iex> StructuredIO.binwrite structured_io,
...> fragment1
:ok
iex> StructuredIO.binread_through structured_io,
...> "<br/>"
""
iex> StructuredIO.binwrite structured_io,
...> fragment2
:ok
iex> StructuredIO.binwrite structured_io,
...> "<br/>"
:ok
iex> StructuredIO.binread_through structured_io,
...> "<br/>"
"😕<br/>"
iex> StructuredIO.binread_through structured_io,
...> "<br/>"
""
binread_to(GenServer.server(), binary(), timeout()) :: binary() | StructuredIO.error()
Reads data from the specified structured_io
if and until the specified to
is encountered, excluding to
, using the specified timeout
(defaults to
5,000 milliseconds).
If to
is not encountered, the result is an empty binary (""
).
Examples
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.binwrite structured_io,
...> <<1, 2, 3, 255, 255>>
:ok
iex> StructuredIO.binread_to structured_io,
...> <<255, 255, 255>>
""
iex> StructuredIO.binwrite structured_io,
...> <<255, 4, 5, 6, 255, 255, 255>>
:ok
iex> StructuredIO.binread_to structured_io,
...> <<255, 255, 255>>
<<1, 2, 3>>
iex> StructuredIO.binread_through structured_io,
...> <<255, 255, 255>>
<<255, 255, 255>>
iex> StructuredIO.binread_to structured_io,
...> <<255, 255, 255>>
<<4, 5, 6>>
iex> StructuredIO.binread_to structured_io,
...> <<255, 255, 255>>
""
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> <<fragment1::binary-size(3), fragment2::binary>> = "😕"
iex> StructuredIO.binwrite structured_io,
...> fragment1
:ok
iex> StructuredIO.binread_to structured_io,
...> "<br/>"
""
iex> StructuredIO.binwrite structured_io,
...> fragment2
:ok
iex> StructuredIO.binwrite structured_io,
...> "<br/>"
:ok
iex> StructuredIO.binread_to structured_io,
...> "<br/>"
"😕"
iex> StructuredIO.binread_to structured_io,
...> "<br/>"
""
binwrite(GenServer.server(), iodata()) :: :ok | StructuredIO.error()
Asynchronously writes the specified iodata
as a binary to the specified
structured_io
.
See StructuredIO.Deprecated.binread_across/3
,
StructuredIO.Deprecated.binread_between/3
,
StructuredIO.Deprecated.binread_through/2
, and
StructuredIO.Deprecated.binread_to/2
for examples.
read_across(GenServer.server(), binary(), binary(), timeout()) :: binary() | StructuredIO.error()
Reads data from the specified structured_io
beginning with the specified
from
and ending with the specified through
, inclusive, using the specified
timeout
(defaults to 5,000 milliseconds).
If the data read does not begin with from
, the result is an empty binary
(""
). Likewise, if through
is not encountered, the result is an empty
binary.
Examples
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.write structured_io,
...> "<elem>foo</elem"
:ok
iex> StructuredIO.read_across structured_io,
...> "<elem>",
...> "</elem>"
""
iex> StructuredIO.write structured_io,
...> "><elem>bar</elem>"
:ok
iex> StructuredIO.read_across structured_io,
...> "<elem>",
...> "</elem>"
"<elem>foo</elem>"
iex> StructuredIO.read_across structured_io,
...> "<elem>",
...> "</elem>"
"<elem>bar</elem>"
iex> StructuredIO.read_across structured_io,
...> "<elem>",
...> "</elem>"
""
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.write structured_io,
...> "<elem>"
:ok
iex> <<fragment1::binary-size(3), fragment2::binary>> = "😕"
iex> StructuredIO.write structured_io,
...> fragment1
:ok
iex> StructuredIO.read_across structured_io,
...> "<elem>",
...> "</elem>"
{:error,
"UnicodeConversionError: incomplete encoding starting at #{inspect fragment1}"}
iex> StructuredIO.write structured_io,
...> fragment2
:ok
iex> StructuredIO.write structured_io,
...> "</elem>"
:ok
iex> StructuredIO.read_across structured_io,
...> "<elem>",
...> "</elem>"
"<elem>😕</elem>"
iex> StructuredIO.read_across structured_io,
...> "<elem>",
...> "</elem>"
""
read_between(GenServer.server(), binary(), binary(), timeout()) :: binary() | StructuredIO.error()
Reads data from the specified structured_io
beginning with the specified
after_data
and ending with the specified before_data
, exclusive, using the
specified timeout
(defaults to 5,000 milliseconds).
If the data read does not begin with after_data
, the result is an empty
binary (""
). Likewise, if before_data
is not encountered, the result is an
empty binary.
Examples
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.write structured_io,
...> "<elem>foo</elem"
:ok
iex> StructuredIO.read_between structured_io,
...> "<elem>",
...> "</elem>"
""
iex> StructuredIO.write structured_io,
...> "><elem>bar</elem>"
:ok
iex> StructuredIO.read_between structured_io,
...> "<elem>",
...> "</elem>"
"foo"
iex> StructuredIO.read_between structured_io,
...> "<elem>",
...> "</elem>"
"bar"
iex> StructuredIO.read_between structured_io,
...> "<elem>",
...> "</elem>"
""
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.write structured_io,
...> "<elem>"
:ok
iex> <<fragment1::binary-size(3), fragment2::binary>> = "😕"
iex> StructuredIO.write structured_io,
...> fragment1
:ok
iex> StructuredIO.read_between structured_io,
...> "<elem>",
...> "</elem>"
{:error,
"UnicodeConversionError: incomplete encoding starting at #{inspect fragment1}"}
iex> StructuredIO.write structured_io,
...> fragment2
:ok
iex> StructuredIO.write structured_io,
...> "</elem>"
:ok
iex> StructuredIO.read_between structured_io,
...> "<elem>",
...> "</elem>"
"😕"
iex> StructuredIO.read_between structured_io,
...> "<elem>",
...> "</elem>"
""
read_through(GenServer.server(), binary(), timeout()) :: binary() | StructuredIO.error()
Reads data from the specified structured_io
if and until the specified
through
is encountered, including through
, using the specified timeout
(defaults to 5,000 milliseconds).
If through
is not encountered, the result is an empty binary (""
).
Examples
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.write structured_io,
...> "foo<br/"
:ok
iex> StructuredIO.read_through structured_io,
...> "<br/>"
""
iex> StructuredIO.write structured_io,
...> ">bar<br/>"
:ok
iex> StructuredIO.read_through structured_io,
...> "<br/>"
"foo<br/>"
iex> StructuredIO.read_through structured_io,
...> "<br/>"
"bar<br/>"
iex> StructuredIO.read_through structured_io,
...> "<br/>"
""
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> <<fragment1::binary-size(3), fragment2::binary>> = "😕"
iex> StructuredIO.write structured_io,
...> fragment1
:ok
iex> StructuredIO.read_through structured_io,
...> "<br/>"
{:error,
"UnicodeConversionError: incomplete encoding starting at #{inspect fragment1}"}
iex> StructuredIO.write structured_io,
...> fragment2
:ok
iex> StructuredIO.write structured_io,
...> "<br/>"
:ok
iex> StructuredIO.read_through structured_io,
...> "<br/>"
"😕<br/>"
iex> StructuredIO.read_through structured_io,
...> "<br/>"
""
read_to(GenServer.server(), binary(), timeout()) :: binary() | StructuredIO.error()
Reads data from the specified structured_io
if and until the specified to
is encountered, excluding to
, using the specified timeout
(defaults to
5,000 milliseconds).
If to
is not encountered, the result is an empty binary (""
).
Examples
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> StructuredIO.write structured_io,
...> "foo<br/"
:ok
iex> StructuredIO.read_to structured_io,
...> "<br/>"
""
iex> StructuredIO.write structured_io,
...> ">bar<br/>"
:ok
iex> StructuredIO.read_to structured_io,
...> "<br/>"
"foo"
iex> StructuredIO.read_through structured_io,
...> "<br/>"
"<br/>"
iex> StructuredIO.read_to structured_io,
...> "<br/>"
"bar"
iex> StructuredIO.read_to structured_io,
...> "<br/>"
""
iex> {:ok,
...> structured_io} = StructuredIO.start_link
iex> <<fragment1::binary-size(3), fragment2::binary>> = "😕"
iex> StructuredIO.write structured_io,
...> fragment1
:ok
iex> StructuredIO.read_to structured_io,
...> "<br/>"
{:error,
"UnicodeConversionError: incomplete encoding starting at #{inspect fragment1}"}
iex> StructuredIO.write structured_io,
...> fragment2
:ok
iex> StructuredIO.write structured_io,
...> "<br/>"
:ok
iex> StructuredIO.read_to structured_io,
...> "<br/>"
"😕"
iex> StructuredIO.read_to structured_io,
...> "<br/>"
""
Starts a StructuredIO
process without links (outside a
supervision tree).
Starts a StructuredIO
process linked to the current process.
See StructuredIO.Deprecated.binread_across/3
,
StructuredIO.Deprecated.binread_between/3
,
StructuredIO.Deprecated.binread_through/2
,
StructuredIO.Deprecated.binread_to/2
, StructuredIO.Deprecated.read_across/3
,
StructuredIO.Deprecated.read_between/3
,
StructuredIO.Deprecated.read_through/2
, and StructuredIO.Deprecated.read_to/2
for examples.