Size: a a a

2021 June 11

MK

Max Kot in Go-go!
Scanner получается лучше так же оформить?
источник

VY

Vladislav Yarmak in Go-go!
не думаю, что нужно
источник

VY

Vladislav Yarmak in Go-go!
там он из многих мест вызывается?
источник

VY

Vladislav Yarmak in Go-go!
там вся проблема в том, что bufio.Writer не заточен на конкурентность. сам по себе net.Conn конкуретнтный
источник

MK

Max Kot in Go-go!
Да, там читаю через scanner.bytes
источник

VY

Vladislav Yarmak in Go-go!
ну всё равно только одна горутина читает из одного коннекта, да? иначе они будут друг у друга байты отнимать
источник

VY

Vladislav Yarmak in Go-go!
я думаю на чтение не надо
источник

MK

Max Kot in Go-go!
Scan и Err в одном месте, далее когда приходит сегмент он уже в отдельной горутине читается
источник

VY

Vladislav Yarmak in Go-go!
ну тогда всё, вроде
источник

MK

Max Kot in Go-go!
В теории чтение не может вызваться одновременно, я думаю он возьмёт байты из буффера быстрее чем в цикле будет принят новый сегмент и отправлен на обработку
источник

MK

Max Kot in Go-go!
Благодарю 😃
источник

MK

Max Kot in Go-go!
Снова вылетело short write
источник

MK

Max Kot in Go-go!
🤔
источник

VY

Vladislav Yarmak in Go-go!
оно всегда вылетает или только при каких-то условиях?
источник

MK

Max Kot in Go-go!
Редко
источник

MK

Max Kot in Go-go!
Конкуретно на 2 сегмента ответить пытается
источник

VY

Vladislav Yarmak in Go-go!
вы обернули локом только flush или flush и write?
источник

MK

Max Kot in Go-go!
Сейчас поправлю, нашёл косяк
источник

MK

Max Kot in Go-go!
Нужно же и то, и то?
источник

VY

Vladislav Yarmak in Go-go!
да, нужно и то и то, т.к. проблема возникает от того, что write во время flush сдвигает планку ожиданий количества записанных байтов
источник