gen-fsm

    0热度

    1回答

    所以我写了两个版本的gen_fsm来解析一个字节流。我正在寻找一个以字符串snp开头的数据包,然后我想在p之后保存下一个20个字节。这段代码只关心查找标题。我需要一些建议,指出哪一种是更加惯用的Erlang或更好的写法。 选项1 parse_header({parse, Byte}, {Header, [Next | Rest]}) -> case Byte of Next w

    0热度

    1回答

    我有一个Erlang的gen_fsm进程,使用Erlang的内置调用gen_tcp通过TCP会谈到远程服务器。 我想使这个网络套接字客户端。经过一番调查,我得到了这个erlang websocket客户端库Erlang Websocket client。 看一些例子,它看起来像我不得不使用 -behaviour(websocket_client_handler)。 基本上,我在START_LINK

    1热度

    1回答

    我对gen_fsm超时有个问题。假设您有一组具有两种状态(将来可能更多)的gen_fsm:idle这是起始状态,并且working。 任何5秒gen_fsm将检查一个特定的参数,并根据它将保留在idle或将移动到working。每当gen_fsm将移动到working时,它将向所有其他gen_fsm发送一条消息(使用gen_fsm:send_all_state_event/2):idle中的那个应

    1热度

    1回答

    我想知道从erlang节点A向erlang节点B移动gen_server/gen_fsm以保持其内部状态的建议方式(如果有)。

    -3热度

    2回答

    我开始的gen_fsm: start_link() -> gen_fsm:start_link({global, ?MODULE}, [], []). 我怎样才能得到它的PID? 谢谢。

    1热度

    1回答

    我想用在我的国家on_entry模板函数的一个is_flag_active()函数: struct StBladeDown : public msm::front::state<> { template<class Event, class FSM> void on_entry(Event const& event, FSM& fsm) { if(fsm.is_fl

    1热度

    2回答

    在向其发送消息/事件之前,Erlang中确保某个进程存在的最推荐方法是什么?在我的情况下,我首先发生的消息开始处理,然后它仍然活着。虽然不断通过进一步的消息,我第一次尝试启动过程中使用相同的名称,以确保它启动时,这样的事情(使用gen_fsm和simple-one-for-one重启场景): %% DeviceId - process name heartbeat(ApplicationKey

    0热度

    1回答

    我如何测试一个gen_fsm确实超时与eunit? {ok, GH} = gen_fsm:start_link(myFSM, [], []), //after 15 sec it should timeout if no messages received. //What must I write here to test it?

    10热度

    1回答

    检查Gen_Fsm和Gen_Server文档后,我发现或多或少,它们的行为类似。在我看来,如果有一个循环函数用于发送广播或监听tcp sock,最好使用Gen_Fsm,否则使用gen_server。我想知道它是否正确?

    0热度

    2回答

    我们有一个相当大的USSD应用程序,它使用Erlang的gen_fsm模块来管理菜单选项。 当前版本有一个单一的menus_fsm.erl文件,其中包含5000多行的gen_fsm相关代码。我们的下一个版本使我们有机会将menus_fsm.erl分为不同的文件,以便将来更易于维护。 在旧版本,以显示我们下面的帮助菜单(help_menu/1会从代码中调用没有证明显示主菜单): -module(me