Changeset 3296

Show
Ignore:
Timestamp:
11/14/05 18:31:46 (3 years ago)
Author:
morris
Message:

Add /ping command

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • wire/trunk/NEWS

    r3250 r3296  
    1212- Several bug fixes related to scrolling 
    1313- Server pinging to keep connections alive 
     14- Add /ping command 
    1415- Add /charset command to change character set during execution, remove -c flag 
    1516 
  • wire/trunk/man/wire.1

    r3237 r3296  
    196196.Pp 
    197197Example: /open my.server.com, /open my.server.com:3000 -l morris -p p4ssw0rd 
     198.It Nm ping 
     199Pings the server to determine latency. 
     200.Pp 
     201Example: /ping 
    198202.It Nm post Ar message 
    199203Posts a new entry to the server news. 
  • wire/trunk/wire/client.c

    r3290 r3296  
    4747static void                                                     wr_msg_200(za_array_t *); 
    4848static void                                                     wr_msg_201(za_array_t *); 
     49static void                                                     wr_msg_202(za_array_t *); 
    4950static void                                                     wr_msg_300(za_array_t *); 
    5051static void                                                     wr_msg_301(za_array_t *); 
     
    142143unsigned int                                            wr_news_limit; 
    143144 
     145za_time_interval_t                                      wr_ping_time; 
     146 
    144147za_boolean_t                                            wr_connected; 
    145148za_boolean_t                                            wr_logged_in; 
     
    315318                case 200:               wr_msg_200(arguments);          break; 
    316319                case 201:               wr_msg_201(arguments);          break; 
    317                 case 202:                                                                     break; 
     320                case 202:               wr_msg_202(arguments);                break; 
    318321                case 300:               wr_msg_300(arguments);          break; 
    319322                case 301:               wr_msg_301(arguments);          break; 
     
    513516 
    514517 
     518static void wr_msg_202(za_array_t *arguments) { 
     519        za_time_interval_t      interval; 
     520 
     521        if(wr_ping_time > 0.0) { 
     522                interval = za_time_interval() - wr_ping_time; 
     523                 
     524                wr_wprintf_prefix(wr_console_window, ZA_STR("Ping reply after %.2fms"), interval * 1000.0); 
     525                 
     526                wr_ping_time = 0.0; 
     527        } 
     528} 
     529 
     530 
     531 
    515532static void wr_msg_300(za_array_t *arguments) { 
    516533        wr_user_t       *user; 
  • wire/trunk/wire/client.h

    r3277 r3296  
    7979extern unsigned int                                     wr_news_limit; 
    8080 
     81extern za_time_interval_t                       wr_ping_time; 
     82 
    8183extern SSL_CTX                                          *wr_ssl_ctx; 
    8284extern za_socket_t                                      *wr_socket; 
  • wire/trunk/wire/commands.c

    r3287 r3296  
    7373static void                                             wr_cmd_news(za_array_t *); 
    7474static void                                             wr_cmd_nick(za_array_t *); 
     75static void                                             wr_cmd_ping(za_array_t *); 
    7576static void                                             wr_cmd_post(za_array_t *); 
    7677static void                                             wr_cmd_put(za_array_t *); 
     
    219220          1, -1, WR_COMPLETER_NONE, 
    220221          wr_cmd_open }, 
     222        { "ping", 
     223          true, "", 
     224          0, -1, WR_COMPLETER_NONE, 
     225          wr_cmd_ping }, 
    221226        { "post", 
    222227          true, "<message>", 
     
    10931098 
    10941099/* 
     1100        /ping 
     1101*/ 
     1102 
     1103static void wr_cmd_ping(za_array_t *arguments) { 
     1104        wr_ping_time = za_time_interval(); 
     1105         
     1106        wr_send_command(ZA_STR("PING")); 
     1107} 
     1108 
     1109 
     1110 
     1111/* 
    10951112        /post <message> 
    10961113*/