summaryrefslogblamecommitdiff
path: root/server/piztor/ptp.rst
blob: 19eab655ac38171e452c7ad466be84dcd5fee358 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                  

                                  
       
 



             
        






                                               
        




























































































































































































                                                                                            
 
                   
 
                   


      


                                                     
 
                   
 

      


                                      


                 
      
    


                      
 

                        
      
 


                            
 
Piztor Transmission Protocol v1.0b
----------------------------------

- Pull 

  - General 
  
    - Request
  
      ::
      
          +---4b---+---1b---+-------?b--------+
          | LENGTH | OPT_ID |  SPECIFIC_DATA  |
          +--int---+-uchar--+-----------------+
  
    - Response
  
      ::
      
          +---4b---+---1b---+------?b---------+
          | LENGTH | OPT_ID |  SPECIFIC_DATA  |
          +--int---+-uchar--+-----------------+
  
      Notice:
  
      - In following sections, ``LENGTH`` part is left out for clarity.
      - ``PADDING`` has value ``0``.
      - ``string`` type structure:
  
        ::
  
            +-------?b-------+---------+
            | STRING_CONTENT | PADDING |
            +----------------+---------+
  
      - ``AUTH_HEAD`` structure:
  
        ::
  
            +----32b-----+----?b----+
            | USER_TOKEN | USERNAME |
            +----raw-----+--string--+
  
  - Authentication 
  
    - Request
  
      :: 
  
          +--1b---+-----?b---+----?b----+
          | 0x00  | USERNAME | PASSWORD |
          +-uchar-+--string--+--string--+
  
    - Response
  
      ::
      
         +--1b---+---1b---+---4b----+----32b-----+
         | 0x00  | STATUS | USER_ID | USER_TOKEN |
         +-uchar-+--uchar-+---int---+----raw-----+
  
      ``STATUS`` :
      
      - ``0x00`` for success
      - ``0x01`` for failure
  
  - Location Update
  
    - Request
  
      ::
      
          +--1b---+-----?b------+----8b------+------8b-----+
          | 0x01  |  AUTH_HEAD  |  LATITUDE  |  LONGITUDE  |
          +-uchar-+-------------+---double---+---double----+
  
    - Response
  
      ::
  
          +--1b---+---1b---+
          | 0x01  | STATUS |
          +-uchar-+--uchar-+
  
      ``STATUS`` :
  
      - ``0x00`` for success
      - ``0x01`` for invalid token
  
  - Location Information
  
    - Request
  
      ::
      
          +--1b---+------?b------+------2b-----+
          | 0x02  |  AUTH_HEAD   |  GROUP_ID   |
          +-uchar-+--------------+-------------+
  
      ``GROUP_ID``:
  
      ::
  
          +---1b----+---1b---+
          | COMP_ID | SEC_ID |
          +--uchar--+-uchar--+
  
    - Response
  
      ::
  
          +--1b---+---1b---+------20b-------+-----+
          | 0x02  | STATUS | LOCATION_ENTRY | ... |
          +-uchar-+-uchar--+----------------+-----+
          
      ``LOCATION_ENTRY`` :
  
      :: 
  
          +---4b----+----8b----+-----8b----+
          | USER_ID | LATITUDE | LONGITUDE |
          +---int---+--double--+--double---+
  
  - User Information
  
    - Request
  
      ::
  
          +--1b---+------?b------+------4b-----+
          | 0x03  |  AUTH_HEAD   |   USER_ID   |
          +-uchar-+--------------+-----int-----+
  
    - Response 
  
      ::
  
          +--1b---+---1b---+------?b-----+-----+
          | 0x03  | STATUS | UINFO_ENTRY | ... |
          +-uchar-+-uchar--+-------------+-----+
  
      ``UINFO_ENTRY`` : 
      
      ::
  
          +----1b----+-----?b-----+
          | INFO_KEY | INFO_VALUE |
          +--uchar---+------------+
  
      ``INFO_KEY`` :
  
      :``0x00``: gid (value is a 2-byte ``GROUP_ID``)
      :``0x01``: sex (value is a 1-byte ``boolean``: ``0x01`` for male, ``0x00`` for female)
  
  - User Logout
  
    - Request
  
      ::
  
        +--1b--+-----?b------+
        | 0x04 |  AUTH_HEAD  |
        +------+-------------+
  
    - Response
  
      ::
  
        +--1b--+---1b---+
        | 0x04 | STATUS |
        +------+--------+
  
  - Open Push Tunnel
  
    - Request
  
      ::
  
        +--1b--+-----?b------+
        | 0x05 |  AUTH_HEAD  |
        +------+-------------+
  
    - Response
  
      ::
  
        +--1b--+---1b---+
        | 0x05 | STATUS |
        +------+--------+
  
  - Send Text Message
  
    - Request
  
      ::
  
        +--1b--+----?b-----+----?b----+
        | 0x06 | AUTH_HEAD | MESSAGE  |
        +------+-----------+--string--+
  
    - Response
  
      ::
  
        +--1b--+---1b---+
        | 0x06 | STATUS |
        +------+--------+

- Push Notification

  - General Request

    ::

        +---1b---+-------32b--------+-------?b------+
        | OPT_ID | PUSH_FINGERPRINT | SPECIFIC_DATA |
        +--------+------------------+---------------+

  - Acknowledgement

    ::

        +---1b---+-------32b---------+
        | OPT_ID | PUSH_FINGERPRINT  |
        +--------+-------------------+
 
  - Text Message 

    ::
    
      ----+----?b----+
      ... | MESSAGE  |
      ----+--string--+

  - User Location Update

    ::

      ----+-------?b-------+
      ... | LOCATION_ENTRY |
      ----+----------------+