Some packets requests (REQ) or responses (RES) will trigger multiple notifications (NOT).
Previously, we were expecting 1 REQ -> 1 RES while this time we have 1 REQ -> 1 RES + 1 NOT or 1 RES -> multiple NOT.
This modification of the PacketManager allows to map expected NOTs based on the packet REQ or RES being processed in Handle; additionally, Handle now returns a List of buffers to be sent, the server will iterate trough this list and send each packet buffer to the client.
Not having an entry in m_notificationTriggers will result in following the previous 1 -> 1 flow.
Example:
In PT5 the AccountLoginReq expects 2 packets in return from the server: AccountLoginRes and SS2C_SERVICE_POLICY_NOT.
By feeding into m_notificationTriggers the trigger packet AccountLoginReq the server will process AccountLoginRes and then SS2C_SERVICE_POLICY_NOT, reverse its send order and send them.
Some packets requests (
REQ
) or responses (RES
) will trigger multiple notifications (NOT
). Previously, we were expecting1 REQ -> 1 RES
while this time we have1 REQ -> 1 RES + 1 NOT
or1 RES -> multiple NOT
.This modification of the PacketManager allows to map expected
NOTs
based on the packetREQ
orRES
being processed inHandle
; additionally,Handle
now returns aList
of buffers to be sent, the server will iterate trough this list and send each packet buffer to the client.Not having an entry in
m_notificationTriggers
will result in following the previous1 -> 1
flow.Example:
In PT5 the
AccountLoginReq
expects 2 packets in return from the server:AccountLoginRes
andSS2C_SERVICE_POLICY_NOT
. By feeding intom_notificationTriggers
the trigger packetAccountLoginReq
the server will processAccountLoginRes
and thenSS2C_SERVICE_POLICY_NOT
, reverse its send order and send them.