@dlangru

Страница 559 из 719
Pavel
09.05.2018
20:06:48
Чего так? Спад завершился и наметился подъём.

https://trends.google.com/trends/explore?date=today%205-y&q=dlang - так веселее

Denis
09.05.2018
20:11:07
нужно сделать бот телеграм который бы ставки принимал на курс, как на акции

тогда и заработок и курс (рейтинг) вырастет из-за ажиотажа

Google
Oleg
10.05.2018
01:41:29
На D? Нет. Сложно, мутно, моторно
https://github.com/gecko0307/dagon хз

Nikita
10.05.2018
06:35:55
Ребятки, а тут на маке сидит кто? Кто какой ide пользуется?

Stanislav
10.05.2018
06:38:21
Vs code

Igor
10.05.2018
06:38:55
idea

Nikita
10.05.2018
06:39:41
Спасибо, попробую оба

Denis
10.05.2018
07:06:40
Package dash version 0.12.0-beta2 - DUB - The D package registry https://code.dlang.org/packages/dash

Pavel
10.05.2018
07:22:25
Заброшен

Denis
10.05.2018
07:23:22
и правда

Ievgenii
10.05.2018
09:14:33
https://www.mongodb.com/blog/post/multi-document-transactions-in-mongodb

Транзакции уже летом)))

Если им верить

Denis
10.05.2018
09:25:03
MongoDB Drops ACID - 3 смысла у этой фразы)

Google
Ievgenii
10.05.2018
09:31:26
Denis
10.05.2018
09:32:45
Как я понимаю: - Слегка упасть вместе с ACID - ВЫбросить ACID - Закинуться "кислотой"

Ievgenii
10.05.2018
09:34:26
Заявляют, что будет работать с репликацией

А к 4.2 и с шардированием

Поживем - увидим.

Denis
10.05.2018
09:36:25
а как оно так будет работать там не пишут?

Ievgenii
10.05.2018
09:50:37
Неа

Но не вижу особых проблем

Денис
10.05.2018
10:09:44
Ребятки, а тут на маке сидит кто? Кто какой ide пользуется?
VScode. Попробовал идею, сублайм и атом. И смог dscanner полностью и без шаманств из коробки только на вскод и сублайм завести, но саблайм не порадовал.

Denis
10.05.2018
10:11:09
Но не вижу особых проблем
https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0_CAP но ведь...

Ievgenii
10.05.2018
10:14:02
В реплике не вижу особых проблем

С шардированием, конечно, гораздо больше проблем

Denis
10.05.2018
10:14:58
В реплике не вижу особых проблем
хвалёная монговая скорость уйдёт

Ievgenii
10.05.2018
10:15:34
Возможно. Но только при реплики

И то не факт)

Будет видно, как выйдет

Denis
10.05.2018
10:16:25
надо код новый глядеть

Pavel
10.05.2018
10:28:26
Ух нафигачил вчера отличный кольцевой буфер )) Часов 7 сидел

Google
Pavel
10.05.2018
10:29:34
Чтобы читать из одного сокета и писать в другой

асинхронно

Ievgenii
10.05.2018
10:36:20
Хм...

Тогда не понимаю зачем оно тебе?

Чего просто не считывать в некий буфер, а потом писать в сокет из этого буфера?

Зачем это делать циклично?

Pavel
10.05.2018
10:59:53
Чего просто не считывать в некий буфер, а потом писать в сокет из этого буфера?
Потому что за одну попытку может не получиться все данные из буфера записать в целевой сокет. А на следующей итерации из источника придут еще данные, их надо куда-то дописывать.

я в цикле бегаю и ловлю события epoll - "на источник пришли данные", "целевой сокет освободился для записи". Сколько байт удастся прочитать/записать - зависит от сети и от того как звезды сложатся

опубликуй?
Хм не работает ни pastebin ни dpaste(recaptcha сломалась). Проклятый эРКаЭн

Pavel
10.05.2018
11:04:11
https://paste.ofcode.org/4g2xZ3Ekk9WQiASZMJGZDz

Denis
10.05.2018
11:10:56
Запили пакет, серьезно

Pavel
10.05.2018
11:12:06
Да я вот думаю, а надо ли на каждый чих пакет пилить? Может сделать как все поступают - запилить проект "мой всякий стафф" и туда коммитить )

Типа как arsd делает

Ievgenii
10.05.2018
11:17:02
Жди освобождение буфера

Смысла считывать нет, так как отправить еще некому, или нет возможности

Pavel
10.05.2018
11:17:40
Жди освобождение буфера
Нельзя ждать, мы же работаем неблокирующе. Надо срочно бежать и обрабатывать события на других сокетах.

Ievgenii
10.05.2018
11:17:48
+ если ты считаешь весь свой буфер (скажем 100 байт), то считывать больше просто нет возможности

Google
Ievgenii
10.05.2018
11:17:58
Т.к. ты свой циклический буфер еще не очистил

Ты же пропускаешь этот сокет тогда

Pavel
10.05.2018
11:20:04
да

Ievgenii
10.05.2018
11:20:17
Правельней было бы его снять с мониторинга, не следить за ним, пока не появится место в буфере

Ну так вот тебе и решение: не смотреть за сокетом, пока буфер не пустой

Pavel
10.05.2018
11:20:50
Ну так все равно надо смотреть за сокетом в который мы пишем

Ievgenii
10.05.2018
11:20:57
Это да!

За тем ты смотришь

но за источником - без смысла

Admin
ERROR: S client not available

Ievgenii
10.05.2018
11:21:23
Ты его каждую итерацию будешь пропускать, пока буфер не освободится

Pavel
10.05.2018
11:21:43
Ну да, впринципе верно, однако это не отменяет нужности кольцевого буфера

Ievgenii
10.05.2018
11:21:48
И тут вопрос: какова вероятность того, что ты не успеешь очистить буфер до прихода следующего чанка?

Pavel
10.05.2018
11:22:54
И тут вопрос: какова вероятность того, что ты не успеешь очистить буфер до прихода следующего чанка?
Моя первая реализация как раз писала в целевой сокет весь буфер в цикле до упора. Потом я увидел что иногда приходится по 100 итераций ждать пока сокет не освободится для записи. За это время можно было обработать уже несколько других событий.

В общем писать в цикле и ждать - противоречит самой идее неблокирующей обработки.

Pavel
10.05.2018
11:27:29
Нет я обрабатывал как раз выходной сокет

Igor
10.05.2018
11:27:29
Ну так вот тебе и решение: не смотреть за сокетом, пока буфер не пустой
это потеря времени, т.к. пока один буфер отправляется другой может приниматься. а так ты всё время стоп-кран дёргаешь

Google
Ievgenii
10.05.2018
11:27:29
И все

Пришло 60 байт

твой буфер = 100 байтам

Ты считал 60 (больше просто нет)

и записываешь его во второй

но во второй записалось всего 10

И того картина:

у тебя 50 байт в буфере и что-то пришло на вход еще

Ты читаешь, а там 200 байт еще пришло

Ты вычитываешь всего 50

40 в конец и 10 в начало

И ждешь повторной попытки отправить

отправить еще нет возможности

НО тебе уже пришло еще 20 байт к тем, что еще не вычитаны 150

Все равно нужно будет "дергать стоп-кран"

Igor
10.05.2018
11:30:39
это “плохой случай”. в хорошем ты принял 60 байт и поставил их на отправку и сразу втал на приём следующей порции. на следующем возврате из epoll у тебя может быть и первый буфер отправлен и новые 100 байт приняты

Ievgenii
10.05.2018
11:31:08
Иначе будет простой скип того сокета, а это и есть та реализация, что Павла была с начала. Ну практически та

Ievgenii
10.05.2018
11:32:19
Серебряной пули нет. Но ты или будешь делать continue каждый раз, т.к. второй сокет медленее

Pavel
10.05.2018
11:32:23
Блин ты все неправильно понял )

Ievgenii
10.05.2018
11:32:41
Объясни тогда еще раз :)

Страница 559 из 719