
Quet
26.01.2017
14:38:37

Roman
26.01.2017
14:39:51
Hijack
А как до самого fd дотянуться?

Quet
26.01.2017
14:40:47
а чем тебя net.Conn не устраивает?

DreamingKitten
26.01.2017
14:42:49

Google

Yura
26.01.2017
14:43:16
Хотя, интересный вопрос, зачем?
делать splice ?
С sendfile я в своё время выкрутился, хоть и костыльненько

Kirill
26.01.2017
14:44:45

Roman
26.01.2017
14:45:07

Yura
26.01.2017
14:48:35
Как?
https://github.com/funny-falcon/go-writeton

Quet
26.01.2017
14:49:02
Именно
только если закат солнца руками. но в таком случае, зачем тебе го?

Yura
26.01.2017
14:49:28
Правда, на каждый запрос приходится открывать по файлу. С одного os.File все запросы не обслужишь, это правда.

Roman
26.01.2017
14:50:07

Yura
26.01.2017
14:50:14
Правда, потом пришлось переключиться на https, и sendfile пошёл на смарку.
Эээ. Зачем?
Потому что встроенный в Go runtime sendfile работает с системным оффсетом файла.

Google

Yura
26.01.2017
14:51:11
И он закопан так глубоко, что хер туда пролезешь.
Т.е. net.Conn может использовать сам sendfile если читает из os.File
но оффсет указать нельзя, приходится делать Seek

Kirill
26.01.2017
14:53:02

Yura
26.01.2017
14:53:45
я не говорю про прямой вызов syscall.Sendfile
я говорю про тот sendfile, который уже использует net.Conn, если в него пишут из os.File
со взятием Fd из net.Conn есть засада: он переводится в блокирующий режим.

Quet
26.01.2017
14:55:56
да напрямую с io работать так это идти против всего рантайма
с его асинхронностью
проще выбросить go

Roman
26.01.2017
14:57:02

Yura
26.01.2017
14:57:34
Если офсет не указываешь, то используется системный оффсет файла

Roman
26.01.2017
14:57:50

Yura
26.01.2017
14:58:22
Вот с указанием и проблема.

Roman
26.01.2017
14:58:26

Quet
26.01.2017
14:59:25

Roman
26.01.2017
14:59:30
я то на питоне писал вариант с кешем открытых fd и надеялся перенести всё это на go.

Yura
26.01.2017
14:59:35

Google

Kirill
26.01.2017
15:01:41

Yura
26.01.2017
15:01:48
но core-team "не хочет усложнять"

Kirill
26.01.2017
15:02:11

Yura
26.01.2017
15:02:37

Kirill
26.01.2017
15:02:50

Yura
26.01.2017
15:03:39
Уточни, куда смотреть? у тебя много репозиториев

Kirill
26.01.2017
15:04:14
https://github.com/kirillDanshin/value
https://github.com/kirillDanshin/value/blob/master/helpers.go
наводящие ссылки

Quet
26.01.2017
15:06:12
эм, а где там io?

Yura
26.01.2017
15:06:17
Какое это имеет отношение к sendfile ?

Quet
26.01.2017
15:06:18
value я смотрел, оно же не про то

Yura
26.01.2017
15:08:28
Наверное, Кирилл имеет в виду, что можно добраться до fd

Quet
26.01.2017
15:14:12

Yura
26.01.2017
15:14:41
Ну... он просто предложил альтернативу.

Quet
26.01.2017
15:15:37
мне кажется в го не надо бороться с рантаймом
а где надо лезть в кишки совсем - лучше взять си

Yura
26.01.2017
15:26:46
Согласен. Тем более, с приходом https сендфайлу наступила жопа.

Roman
26.01.2017
15:30:38
в принципе, можно даже хеши считать на linux им

Google

Yura
26.01.2017
15:31:12
Фишка sendfile была в том, что буфер ни куда не копировался, на него только поинтеры в ядре перекидывались.
Если ядро будет шифровать, это улучшит ситуацию, но копирование останется (просто уже будет внутри ядра).
Но мороки установлением TLS контекста на сокете будет не мало.

Roman
26.01.2017
15:33:49

Admin
ERROR: S client not available

Yura
26.01.2017
15:34:45
Клёво! будем ждать с нетерпением

Roman
26.01.2017
15:35:05

Yura
26.01.2017
15:36:34
через vmsplice ? Это конечно заманчиво. Но я всегда в vmsplice боялся слежки за временем жизни.
Ты уже делал?

Roman
26.01.2017
15:42:47
надо следить за страницами

Yura
26.01.2017
15:44:16
вот я ж это и имел в виду про "время жизни".

Roman
26.01.2017
15:44:55

Еxey
26.01.2017
16:31:49
Подскажите есть ли конфа по веб/js в телеге?

Kirill
26.01.2017
16:31:56
есть

Еxey
26.01.2017
16:33:04
есть
Позовите меня плес туда
Или ссылку киньте в личку

Kirill
26.01.2017
16:33:14

Google

Roman
26.01.2017
16:37:20

Еxey
26.01.2017
16:37:32
лол

Maxim
26.01.2017
20:17:50
Вопрос такой, map[string]interface{} подразумевает только один уровень всякого добра в значении строки или он также подразумевает наличие ещё каких-нибудь вложений?

Quet
26.01.2017
20:18:36
ты про что сейчас?

Maxim
26.01.2017
20:18:40
Вообще

Quet
26.01.2017
20:18:47
interface{} конечно позволяет туда хоть сколько уровней напихать

Maxim
26.01.2017
20:18:58
Всё, это то что я хотел знать

Denis
26.01.2017
20:20:04
интересно будет доставать значения

Maxim
26.01.2017
20:20:44
Я просто прикидывая в теории кусок кода испугался, что мне придётся учитывать возможные уровни вложений через конструкцию вида: map[string]interface[string]interface[string]interface...
Что за бан? Откуда?

I
26.01.2017
22:02:31
да реклама по всем чатам прошла от бота

Serge
26.01.2017
22:04:31

Daniel
26.01.2017
22:22:24

Maxim
26.01.2017
22:23:10