Skip to content

Instantly share code, notes, and snippets.

@naphaso
Created July 21, 2013 11:39
Show Gist options
  • Save naphaso/6048319 to your computer and use it in GitHub Desktop.
Save naphaso/6048319 to your computer and use it in GitHub Desktop.
req_pq#60469778 nonce:int128 = ResPQ
resPQ#05162463 nonce:int128 server_nonce:int128 pq:string server_public_key_fingerprints:Vector long = ResPQ
req_DH_params#d712e4be nonce:int128 server_nonce:int128 p:string q:string public_key_fingerprint:long encrypted_data:string = Server_DH_Params
p_q_inner_data#83c95aec pq:string p:string q:string nonce:int128 server_nonce:int128 new_nonce:int256 = P_Q_inner_data
server_DH_params_fail#79cb045d nonce:int128 server_nonce:int128 new_nonce_hash:int128 = Server_DH_Params;
server_DH_params_ok#d0e8075c nonce:int128 server_nonce:int128 encrypted_answer:string = Server_DH_Params;
server_DH_inner_data#b5890dba nonce:int128 server_nonce:int128 g:int dh_prime:string g_a:string server_time:int = Server_DH_inner_data;
set_client_DH_params#f5045f1f nonce:int128 server_nonce:int128 encrypted_data:string = Set_client_DH_params_answer;
client_DH_inner_data#6643b654 nonce:int128 server_nonce:int128 retry_id:long g_b:string = Client_DH_Inner_Data
dh_gen_ok#3bcbf734 nonce:int128 server_nonce:int128 new_nonce_hash1:int128 = Set_client_DH_params_answer;
dh_gen_retry#46dc1fb9 nonce:int128 server_nonce:int128 new_nonce_hash2:int128 = Set_client_DH_params_answer;
dh_gen_fail#a69dae02 nonce:int128 server_nonce:int128 new_nonce_hash3:int128 = Set_client_DH_params_answer;
rpc_result#f35c6d01 req_msg_id:long result:Object = RpcResult;
rpc_error#2144ca19 error_code:int error_message:string = RpcError;
rpc_drop_answer#58e4a740 req_msg_id:long = RpcDropAnswer;
rpc_answer_unknown#5e2ad36e = RpcDropAnswer;
rpc_answer_dropped_running#cd78e586 = RpcDropAnswer;
rpc_answer_dropped#a43ad8b7 msg_id:long seq_no:int bytes:int = RpcDropAnswer;
get_future_salts#b921bd04 num:int = FutureSalts;
future_salt#0949d9dc valid_since:int valid_until:int salt:long = FutureSalt;
future_salts#ae500895 req_msg_id:long now:int salts:vector future_salt = FutureSalts;
ping#7abe77ec ping_id:long = Pong;
pong#347773c5 msg_id:long ping_id:long = Pong;
destroy_session#e7512126 session_id:long = DestroySessionRes;
destroy_session_ok#e22045fc session_id:long = DestroySessionRes;
destroy_session_none#62d350c9 session_id:long = DestroySessionRes;
new_session_created#9ec20908 first_msg_id:long unique_id:long server_salt:long = NewSession
msg_container#73f1f8dc messages:vector message = MessageContainer;
message msg_id:long seqno:int bytes:int body:Object = Message;
msg_copy#e06046b2 orig_message:Message = MessageCopy;
gzip_packed#3072cfa1 packed_data:string = Object;
http_wait#9299359f max_delay:int wait_after:int max_wait:int = HttpWait;
getUser#b0f732d5 int = User;
getUsers#2d84d5f5 Vector int = Vector User;
int#a8509bda ? = Int;
vector#1cb5c415 {t:Type} # [ t ] = Vector t;
msgs_ack#62d6b459 msg_ids:Vector long = MsgsAck;
bad_msg_notification#a7eff811 bad_msg_id:long bad_msg_seqno:int error_code:int = BadMsgNotification;
bad_server_salt#edab447b bad_msg_id:long bad_msg_seqno:int error_code:int new_server_salt:long = BadMsgNotification;
msgs_state_req#da69fb52 msg_ids:Vector long = MsgsStateReq;
msgs_state_info#04deb57d req_msg_id:long info:string = MsgsStateInfo;
msgs_all_info#8cc0d131 msg_ids:Vector long info:string = MsgsAllInfo
msg_detailed_info#276d3ec6 msg_id:long answer_msg_id:long bytes:int status:int = MsgDetailedInfo;
msg_new_detailed_info#809db6df answer_msg_id:long bytes:int status:int = MsgDetailedInfo;
msg_resend_req#7d861a08 msg_ids:Vector long = MsgResendReq;
boolFalse#bc799737 = Bool;
boolTrue#997275b5 = Bool;
contest.saveDeveloperInfo#9a5f6e95 vk_id:int name:string phone_number:string age:int city:string = Bool;
@naphaso
Copy link
Author

naphaso commented Jul 21, 2013

Состояние и флаги сообщений:

1 = о сообщении ничего не известно (msg_id слишком мал, противоположная сторона могла его забыть)
2 = сообщение не было получено (msg_id в диапазоне хранимых идентификаторов, однако противоположная сторона такого сообщения точно не получала)
3 = сообщение не было получено (msg_id слишком велик, противоположная сторона его точно еще не получила)
4 = сообщение было получено (отметим, что такой ответ заодно является подтверждением получения)
+8 = на сообщение уже было отправлено подтверждение
+16 = на сообщение не требуется подтверждение
+32 = идет или уже завершена обработка RPC-запроса, содержащегося в сообщении
+64 = на сообщение уже был сгенерирован содержательный ответ
+128 = другая сторона точно знает о том, что это сообщение было получено

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment