macaddr.ex (605B)
1 defmodule Postgrex.Extensions.MACADDR do 2 @moduledoc false 3 import Postgrex.BinaryUtils, warn: false 4 use Postgrex.BinaryExtension, send: "macaddr_send" 5 6 def encode(_) do 7 quote location: :keep do 8 %Postgrex.MACADDR{address: {a, b, c, d, e, f}} -> 9 <<6::int32(), a, b, c, d, e, f>> 10 11 other -> 12 raise DBConnection.EncodeError, Postgrex.Utils.encode_msg(other, Postgrex.MACADDR) 13 end 14 end 15 16 def decode(_) do 17 quote location: :keep do 18 <<6::int32(), a::8, b::8, c::8, d::8, e::8, f::8>> -> 19 %Postgrex.MACADDR{address: {a, b, c, d, e, f}} 20 end 21 end 22 end