public override void onMessage(ReadIteratorT riter)
 {
     basic_test.scope_test_exchange.handleMessage(riter,
                                                  basic_test.scope_test_exchange.makeMessageHandler(basic_test.scope_test_exchange.MsgId.srv_response,
                                                                                                    (JsonParser parser, ulong id) => {
         basic_test.scope_test_exchange.srv_response reply = basic_test.scope_test_exchange.parseMessage_srv_response(parser);
         //assert( node != nullptr );
         node.onServerReply(getConnID(), reply);
     }),
                                                  basic_test.scope_test_exchange.makeDefaultMessageHandler((JsonParser parser, ulong id) => { Console.Write("Unhandled message\n", id); })
                                                  );
 }
    public void onClientRequest(UInt64 connID, basic_test.scope_test_exchange.Icl_request rq, ConnectionInSCScope connection)
    {
        Console.Write("Client request (connID = {0}):\n", connID);
        Console.Write("     ordinal                : {0}\n", rq.ordinal);
        //		log::default_log::log( log::LogLevel::fatal, "     text                   : {}\n", rq.text );

        basic_test.scope_test_exchange.srv_response reply = new basic_test.scope_test_exchange.srv_response();
        reply.replied_on       = rq.ordinal;
        reply.value            = ++(connection.replyCtr);
        reply.text_from_server = String.Format("srv reply {0} -> {1}", rq.ordinal, reply.value);
        BufferT buff = Platform.makeBuffer();

        basic_test.scope_test_exchange.composeMessage_srv_response(
            buff, replied_on: reply.replied_on, value: reply.value,
            text_from_server: reply.text_from_server);
        connection.postMessage(buff);
    }