void ProcessAsyncPdu(SmppAsyncObject AsyncObject, SmppAsyncObject.SmppAsyncCompleted CompletionReason) { try { Exception exception = null; object obj2 = null; FindAndRemoveTransaction(AsyncObject); switch (CompletionReason) { case SmppAsyncObject.SmppAsyncCompleted.Response: { var header = new SmppHeader(AsyncObject.PduRes); if (header.CommandId != -2147483648) { break; } exception = new SmppGenericNackException(); goto Label_008E; } case SmppAsyncObject.SmppAsyncCompleted.Timeout: exception = new SmppTimeOutException(); Interlocked.Increment(ref ConsecutiveTimeouts); if (ConsecutiveTimeouts > Settings.WindowSize) { BeginUnBind(); } goto Label_008E; case SmppAsyncObject.SmppAsyncCompleted.Disconnection: exception = new SmppInvalidConnectionStateException(); goto Label_008E; default: goto Label_008E; } obj2 = new SmppSubmitSmRes(AsyncObject.PduRes); ConsecutiveTimeouts = 0; Label_008E: switch (AsyncObject.Request.Header.CommandId) { case 3: { var args3 = new SmppAsyncQuerySmResEventArgs(); args3._State = AsyncObject.State; args3._ProcessException = exception; args3._RequestPdu = AsyncObject.Request as SmppQuerySmReq; args3._ResponsePdu = obj2 as SmppQuerySmRes; var handler3 = AsyncObject.Callback as SmppQuerySmResHandler; handler3(this, args3); return; } case 4: { var args = new SmppAsyncSubmitSmResEventArgs(); args._State = AsyncObject.State; args._ProcessException = exception; args._RequestPdu = AsyncObject.Request as SmppSubmitSmReq; args._ResponsePdu = obj2 as SmppSubmitSmRes; var handler = AsyncObject.Callback as SmppSubmitSmResHandler; handler(this, args); return; } case 0x15: break; default: return; } var e = new SmppAsyncEnquireLinkResEventArgs(); e._State = AsyncObject.State; e._ProcessException = exception; e._RequestPdu = AsyncObject.Request as SmppEnquireLinkReq; e._ResponsePdu = obj2 as SmppEnquireLinkRes; var callback = AsyncObject.Callback as SmppAsyncEnquireLinkResHandler; callback(this, e); } catch (Exception exception2) { log.Error("Devshock: " + exception2); } }
void ProcessAsyncPdu(SmppAsyncObject AsyncObject, SmppAsyncObject.SmppAsyncCompleted CompletionReason) { try { Exception exception = null; object obj2 = null; FindAndRemoveTransaction(AsyncObject); switch (CompletionReason) { case SmppAsyncObject.SmppAsyncCompleted.Response: { var header = new SmppHeader(AsyncObject.PduRes); if (header.CommandId != -2147483648) break; exception = new SmppGenericNackException(); goto Label_008E; } case SmppAsyncObject.SmppAsyncCompleted.Timeout: exception = new SmppTimeOutException(); Interlocked.Increment(ref ConsecutiveTimeouts); if (ConsecutiveTimeouts > Settings.WindowSize) BeginUnBind(); goto Label_008E; case SmppAsyncObject.SmppAsyncCompleted.Disconnection: exception = new SmppInvalidConnectionStateException(); goto Label_008E; default: goto Label_008E; } obj2 = new SmppSubmitSmRes(AsyncObject.PduRes); ConsecutiveTimeouts = 0; Label_008E: switch (AsyncObject.Request.Header.CommandId) { case 3: { var args3 = new SmppAsyncQuerySmResEventArgs(); args3._State = AsyncObject.State; args3._ProcessException = exception; args3._RequestPdu = AsyncObject.Request as SmppQuerySmReq; args3._ResponsePdu = obj2 as SmppQuerySmRes; var handler3 = AsyncObject.Callback as SmppQuerySmResHandler; handler3(this, args3); return; } case 4: { var args = new SmppAsyncSubmitSmResEventArgs(); args._State = AsyncObject.State; args._ProcessException = exception; args._RequestPdu = AsyncObject.Request as SmppSubmitSmReq; args._ResponsePdu = obj2 as SmppSubmitSmRes; var handler = AsyncObject.Callback as SmppSubmitSmResHandler; handler(this, args); return; } case 0x15: break; default: return; } var e = new SmppAsyncEnquireLinkResEventArgs(); e._State = AsyncObject.State; e._ProcessException = exception; e._RequestPdu = AsyncObject.Request as SmppEnquireLinkReq; e._ResponsePdu = obj2 as SmppEnquireLinkRes; var callback = AsyncObject.Callback as SmppAsyncEnquireLinkResHandler; callback(this, e); } catch (Exception exception2) { log.Error("Devshock: " + exception2); } }