Size: a a a

2020 January 16

DZ

Danil Zagoskin in ErlangRus
snakeduse
Всем привет. Подскажите пожалуйста библиотеку для http запросов. Какую сейчас лучше всего использовать? Это требуется для тестирования запросов к ковбою.
Тестирование к ковбою — глянь gun. Он ебанутый слегка, но для тестов норм.
источник

SP

Sergey Prokhorov in ErlangRus
snakeduse
Всем привет. Подскажите пожалуйста библиотеку для http запросов. Какую сейчас лучше всего использовать? Это требуется для тестирования запросов к ковбою.
hackney можно попробовать
источник

s

snakeduse in ErlangRus
Хотелось бы именно что-то простое. Для тестов все-таки. Скажите, а в целом никаких оберток для такого рода тестирования нет? Помимо etest_http. etest_http в целом живой еще? Его используют?
источник

SP

Sergey Prokhorov in ErlangRus
мы это используем https://github.com/for-GET/katt
источник

s

snakeduse in ErlangRus
Спасибо, посмотрю.
источник

SP

Sergey Prokhorov in ErlangRus
snakeduse
Спасибо, посмотрю.
но я не знаю насколько оно актуально сейчас для новых проектов. у нас то оно лет 10 назад было внедрено. но как по мне - довольно удобно и декларативно
источник

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
Гайз вопрос касаемо лайфцикла ErlNifEnv и ERL_NIF_TERM. Я правильно понимаю что если мне нужно сохранять в объекте нифки эрланг термы и я сохраняю ERL_NIF_TERM, то у меня они не будут освобождены до тех пор пока жив ErlNifEnv? т.е. по сути после enif_make_copy - если я использую процессонезависимый ErlNifEnv то память не освободится?
Ты путано вопрос задал. Скажи что нужно или что не понятно отдельно
источник

V

Vasilii Demidenok in ErlangRus
Нужен кеш в нифке, который содержит эрланг термы. Кеш наружу торчит как resource. Его могут кидать между эрланг процессами. Кеш представляет собой список термов и указателей на внутренние структуры, которые хендлятся нифкой. Задача в том, чтобы сохранять термы в кеше и удалять их, когда они не нужны (физически освободлать память).
источник

V

Vasilii Demidenok in ErlangRus
Если хочу чтобы это был ERL_NIF_TERM то для того чтобы освобождать память под ненужные термы походу единственный вариант создавать мануально enif_alloc_env и освобождать его.
источник

V

Vasilii Demidenok in ErlangRus
Или сериализовать термы во что-то
источник

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
Если хочу чтобы это был ERL_NIF_TERM то для того чтобы освобождать память под ненужные термы походу единственный вариант создавать мануально enif_alloc_env и освобождать его.
Ага. Все верно - время жизни env. Для долгоживущих термов надо делать обвязки и копии
источник

V

Vasilii Demidenok in ErlangRus
хотел избежать серилизации термов когда они уже закешированы, но видимо не прокатит
источник

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
хотел избежать серилизации термов когда они уже закешированы, но видимо не прокатит
В том смысле что отдавать "глобальные" без копирования? или не делать копии для глобальных?
источник

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
хотел избежать серилизации термов когда они уже закешированы, но видимо не прокатит
Там еще есть enif_make_resource release resource
источник

V

Vasilii Demidenok in ErlangRus
если в нифку передается список термов и ровно такой же список уже был записан в кеше - сениализация этого списка во внутренний формат считай избыточная операция
источник

V

Vasilii Demidenok in ErlangRus
но поскольку после сохранения списка ERL_NIF_TERM внутри нифки геморойно делать удаление, то придется сериализовать в представление не зависящее от env
источник

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
если в нифку передается список термов и ровно такой же список уже был записан в кеше - сениализация этого списка во внутренний формат считай избыточная операция
В каком кеше не совсем понятно? А так то ерланг копирует при передаче сообщений. Это его архитектура
источник

V

Vasilii Demidenok in ErlangRus
кеш который я хочу держать внутри нифки
источник

V

Vasilii Demidenok in ErlangRus
понятно что копирование не избежно, просто после копирования enif_make_copy, не удалишь нормально
источник

СИ

Сергей Иванов in ErlangRus
Vasilii Demidenok
кеш который я хочу держать внутри нифки
Сопировать в кеш придется. А вот отдавать из кеша неплохо было бы да.
источник