/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
test-logs
src/Npgsql/Internal/Converters/Networking/IPNetworkConverter.cs
31 строка
1 KB
Nino Floris
Remove PgBufferedConverter virtual dispatch hop (#6574)
15 май 2026, 18:24
Не верифицирован
15 май 2026, 18:24
78d37a1
Код
Авторство
О чём код?
using System; using System.Net; // ReSharper disable once CheckNamespace namespace Npgsql.Internal.Converters; sealed class IPNetworkConverter : PgBufferedConverter<IPNetwork> { public override bool CanConvert(DataFormat format, out BufferRequirements bufferRequirements) => NpgsqlInetConverter.CanConvertImpl(format, out bufferRequirements); protected override Size BindValue(in BindContext context, IPNetwork value, ref object? writeState) => NpgsqlInetConverter.BindValueImpl(context, value.BaseAddress, ref writeState); public override IPNetwork Read(PgReader reader) { var (ip, netmask) = NpgsqlInetConverter.ReadImpl(reader, shouldBeCidr: true); return new(ip, netmask); } public override void Write(PgWriter writer, IPNetwork value) => NpgsqlInetConverter.WriteImpl( writer, ( value.BaseAddress, value.PrefixLength <= byte.MaxValue ? (byte)value.PrefixLength : throw new ArgumentOutOfRangeException(nameof(value), "IPNetwork.PrefixLength is too large to fit in a byte") ), isCidr: true); }