LINUX.ORG.RU

Реализация протокола HTTP 2.0 на Common Lisp от Akamai

 , , ,


0

1

Реализация протокола HTTP 2.0 на Common Lisp от Akamai (под лицензией MIT):

https://github.com/akamai/cl-http2-protocol

Текущая реализация базируется на:

Реализованы:

  • Binary framing parsing and encoding
  • Stream multiplexing and prioritization
  • Connection and stream flow control
  • Header compression
  • Server push
  • Connection and stream management
★★★

Последнее исправление: Oxdeadbeef (всего исправлений: 1)

Ответ на: комментарий от turtle_bazon

Там все на cl-async построено :) есть также пример сервера. Hunchentoot скорее придется переписывать, если уже нет форка на cl-async.

Oxdeadbeef ★★★
() автор топика
Ответ на: комментарий от Virtuos86

Скоро LOR станет Lisp.org.ru, если уже не стал.

Всего 4 сообщения из 32 в Development. Чего панику-то разводить?

monk ★★★★★
()
Ответ на: комментарий от jederhasstmich

но по тегу lisp он с дикой скоростью спамит

Ну так js это же lisp без скобочек.

no-such-file ★★★★★
()
Ответ на: комментарий от ados

Внутри разных там функций используются динамические переменные, которые были связаны черт знает где до этого. Из-за этого код сложно понять или модифицировать. Вроде такого:

(defvar *a*)

(defun a (x)
 (let ((*a* x)) (b)))

(defun b ()
  (let ((*a* (1+ *a*))) (c)))

(defun c ()
  (send-reply *socket* *a*))
[/user]
jederhasstmich
()
Ответ на: комментарий от jederhasstmich

А это разве не основная фича динамических переменных?

Или просто имеется более изящный способ решения?

ados ★★★★★
()
Ответ на: комментарий от ados

Или просто имеется более изящный способ решения?

Не использовать их

А это разве не основная фича динамических переменных?

Безусловно это она и есть. Но использовать её нужно не в ущерб понятности кода

jederhasstmich
()
Ответ на: комментарий от ados

Пример правильного использования: избежание лишней аллокации

(defvar *buffer* nil)

(defun write-results (res)
  (let ((buffer (or *buffer* (make-array 100500))))
    (write-sequence res *buffer*)))

При этом write-results ты можешь и из REPL подергать, и откуда-то ещё, где *buffer* связан с simple-vector

jederhasstmich
()
Ответ на: комментарий от jederhasstmich

Зато у вас такой спец terminator-101

Не надо его к лисперам спихивать, он во всех языках одинаковый неосилятор и тролль.

Aswed ★★★★★
()
Ответ на: комментарий от anonymous

Эти акамаи и правда cl у себя используют?

CL очень много где используется, если что (только shhhhh!).

Oxdeadbeef ★★★
() автор топика
Ответ на: комментарий от jederhasstmich

ХЗ, но по тегу lisp он с дикой скоростью спамит

Срать — это вам не кодить.

Oxdeadbeef ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.