These are chat archives for synrc/n2o

17th
Apr 2017
Namdak Tonpa
@5HT
Apr 17 2017 05:47
transition процесс — это вариант с двумя процессами, когда все что было создано в период первоначального HTTP запрсо переносится в WS процесс
транзишин процесс работает только когда в хендшейке логин происходит по номеру процесса
% Nitrogen pickle handler

info({init,Rest},Req,State) ->
    Module = State#cx.module,
    InitActionsReply = case Rest of
         <<>> -> try Elements = Module:main(),
                     wf_render:render(Elements),
                     {ok,[]}
               catch X:Y -> Stack = wf:stack(X,Y),
                            wf:error(?MODULE,"Event Main: ~p:~p~n~p", Stack),
                            {error,Stack} end;
          Binary -> Pid = wf:depickle(Binary),
                    Pid ! {'N2O',self()},
                    {ok,receive_actions(Req)} end,
receive_actions(Req) ->
    receive
        {actions,A} -> n2o_nitrogen:render_actions(A);
        _ -> receive_actions(Req)
    after 200 ->
         QS = element(14, Req),
         wf:redirect(case QS of <<>> -> ""; _ -> "?" ++ wf:to_list(QS) end),
         [] end.
<<"N2O,jkdhfkshfksjadhfjkshdjfkahskfh">>
вот так оно выглядит в сокете
вот эрлач написан таким образом
а приватбанк например нет
там SPA режим
в SPA режиме у нас ТОЛЬКО WS процесс
и страницы сервятся не эрлангом, а nginx
N2O,<transition_pid> — это только если мы сами страницы тоже через N2O сервим
в будущем это препишется и будет обозначать XHR n2o_async процесс
Roman
@AstRonin
Apr 17 2017 07:16
т.к. для socket-ов это не важно?
Namdak Tonpa
@5HT
Apr 17 2017 08:27
только если ты сервис страницы через DTL и {{script}}
там как раз var transition = {}; вставляется с номером этого процесса
при каждой генерации страницы
а если {{script}} у тебя нигде нет, то значит ты используешь N2O как WS-server, роутер или SPA приложение
Andy
@m-2k
Apr 17 2017 20:46
в эрлаче нет сессий, наркоман что ли
221V
@221V
Apr 17 2017 20:47
  • тот момент когда ощущаю себя просто идиотом *