то есть, если я пишу conn.Read(buf), то я запишу в buf НЕ БОЛЬШЕ чем длина пакета? и если len(buf) > 1005001488 то даже в этом случае запишется максимум 1800 байт?
ну так reader/writter же так и спроектированы: может записаться или считаться совсем не вся длина буфера, что передан как аргумент