Size: a a a

2020 December 16

AK

Andrey Karepin in Modern::Perl
Vyacheslav Olkhovchenkov
ну это все же другое немного -- мы сейчас сделаем tcp лучше чем олды писят лет тупили
зачем так толсто
источник

VG

Vadim Goncharov in Modern::Perl
Andrey Karepin
зачем так толсто
так ведь правда же
источник

ع

عاصم بن حارث... in Modern::Perl
Andrey Karepin
cubic для староверов! даёшь дорогу молодым!
молодых ф топку. ))) Олдскульные прогеры рулез!
источник

VG

Vadim Goncharov in Modern::Perl
молодых можно, если они олдскульные
источник

ع

عاصم بن حارث... in Modern::Perl
Vadim Goncharov
молодых можно, если они олдскульные
😂👍
источник

AP

Anton Petrusevich in Modern::Perl
Павел Колганов ☭
У Ярослава вновь проблемы с этой группой.
Он передал спасибо! Такой вариант проверку проходит.
Вот интересно, его ирма выкидывает. Он точно отвечает верно и вообще не спамит? ;)
источник

AP

Anton Petrusevich in Modern::Perl
Павел Колганов ☭
У Ярослава вновь проблемы с этой группой.
Он передал спасибо! Такой вариант проверку проходит.
Разбанил
источник

VG

Vadim Goncharov in Modern::Perl
Anton Petrusevich
Вот интересно, его ирма выкидывает. Он точно отвечает верно и вообще не спамит? ;)
спам можно в recent actions посмотреть
источник

a

allter in Modern::Perl
Vadim Goncharov
чего? наоборот ядро кучу чего проверяет и юзерспейсному не дает сделать; а что за "без артефактов", вообще непонятно - socks не есть реализация tcp
Оно это очень формально проверяет. Шаг влево/шаг вправо и получай EINTR/EINVAL, и разбирайся, что к чему. Поддержка корректности лежит на юзерспейс программистах.
источник

VG

Vadim Goncharov in Modern::Perl
allter
Оно это очень формально проверяет. Шаг влево/шаг вправо и получай EINTR/EINVAL, и разбирайся, что к чему. Поддержка корректности лежит на юзерспейс программистах.
всё нормально, оно не даст тебе ни дыр, ни хуйни городить
источник

VG

Vadim Goncharov in Modern::Perl
юзерспейсные кодеры вот так тщательно на ошибки - очень редко проверяют =)
источник

a

allter in Modern::Perl
Vadim Goncharov
всё нормально, оно не даст тебе ни дыр, ни хуйни городить
Оно не даст тебе продырявить само ядро. А вот что бы у тебя не было двойного проведения/ложноположительного проведения - будь добр, извращайся сам. И ооочень много программистов эту задачу фэйлят, как раз за счёт того, что везде асинхронщина и конкурентность.
источник

VG

Vadim Goncharov in Modern::Perl
> двойного проведения/ложноположительного проведения

чего-чего?
источник

VG

Vadim Goncharov in Modern::Perl
ядро свой контракт выполняет честно и тщательно, а не формально
источник

a

allter in Modern::Perl
Vadim Goncharov
> двойного проведения/ложноположительного проведения

чего-чего?
Ну. Общаешься по tcp ты же не просто так, а для каких-то прикладных целей.
источник

VG

Vadim Goncharov in Modern::Perl
allter
Ну. Общаешься по tcp ты же не просто так, а для каких-то прикладных целей.
ну. И это дело твоего приложения и прикладного протокола
источник

VG

Vadim Goncharov in Modern::Perl
allter
Оно это очень формально проверяет. Шаг влево/шаг вправо и получай EINTR/EINVAL, и разбирайся, что к чему. Поддержка корректности лежит на юзерспейс программистах.
ERRORS
    The connect() system call fails if:

    [EBADF]            The s argument is not a valid descriptor.

    [EINVAL]           The namelen argument is not a valid length for the
                       address family.

    [ENOTSOCK]         The s argument is a descriptor for a file, not a
                       socket.

    [EADDRNOTAVAIL]    The specified address is not available on this
                       machine.

    [EAFNOSUPPORT]     Addresses in the specified address family cannot be
                       used with this socket.

    [EISCONN]          The socket is already connected.

    [ETIMEDOUT]        Connection establishment timed out without
                       establishing a connection.

    [ECONNREFUSED]     The attempt to connect was forcefully rejected.

    [ECONNRESET]       The connection was reset by the remote host.

    [ENETUNREACH]      The network is not reachable from this host.

    [EHOSTUNREACH]     The remote host is not reachable from this host.

    [EADDRINUSE]       The address is already in use.

    [EFAULT]           The name argument specifies an area outside the
                       process address space.

    [EINPROGRESS]      The socket is non-blocking and the connection cannot
                       be completed immediately.  It is possible to select(2)
                       for completion by selecting the socket for writing.

    [EINTR]            The connection attempt was interrupted by the delivery
                       of a signal.  The connection will be established in
                       the background, as in the case of EINPROGRESS.

    [EALREADY]         A previous connection attempt has not yet been
                       completed.

    [EACCES]           An attempt is made to connect to a broadcast address
                       (obtained through the INADDR_BROADCAST constant or the
                       INADDR_NONE return value) through a socket that does
                       not provide broadcast functionality.

    [EAGAIN]           An auto-assigned port number was requested but no
                       auto-assigned ports are available.  Increasing the
                       port range specified by sysctl(3) MIB variables
                       net.inet.ip.portrange.first and
                       net.inet.ip.portrange.last may alleviate the problem.

    The following errors are specific to connecting names in the UNIX domain.
    These errors may not apply in future versions of the UNIX IPC domain.

    [ENOTDIR]          A component of the path prefix is not a directory.

    [ENAMETOOLONG]     A component of a pathname exceeded 255 characters, or
                       an entire path name exceeded 1023 characters.

    [ENOENT]           The named socket does not exist.

    [EACCES]           Search permission is denied for a component of the
                       path prefix.

    [EACCES]           Write access to the named socket is denied.

    [ELOOP]            Too many symbolic links were encountered in
                       translating the pathname.

    [EPERM]            Write access to the named socket is denied.
источник

a

allter in Modern::Perl
allter
Я выше упомянул, что это можно написать, но кроме алгебры промисов придётся использовать ещё кучу вещей для ресурсобезопасности. В любом случае, на голом AnyEvent это вообще нереально сделать так, что бы это было понятно/отлаживаемо.

Ну а для нормальной композабельности, придётся всё-таки переходить на нормальные монадки IO/Stream (которые в сути своей - функциональные FSM), и мириться с тем, что в процессе их работы они делают кучу аллокаций. Т.е. выбор - либо производительность, промисы и страдания с отладкой и пониманием этого, либо чёткое понимание, но куча вещей в хипе.
Ну, вот для интеграции "реализации tcp" и корректного решения соответствующей прикладной задачи, и придётся вот это всё затаскивать.
источник

VG

Vadim Goncharov in Modern::Perl
весьма внушительный список возвращаемых ошибок, вообще-то
источник

VG

Vadim Goncharov in Modern::Perl
allter
Ну, вот для интеграции "реализации tcp" и корректного решения соответствующей прикладной задачи, и придётся вот это всё затаскивать.
ты какую-то чушь несешь
источник