Search found 5 matches

by shane
Thu May 14, 2020 1:30 am
Forum: Inetlab.SMPP v2.x (.NET Standard, .NET Core)
Topic: Race condition in MessageComposer causes NullReferenceException
Replies: 6
Views: 43691

Re: Race condition in MessageComposer causes NullReferenceException

Alternate theory why this happens:

- two parts received quickly. asynchronous handler.
- in MessageComposer.AddMessage, two parts are being processed simultaneously by two threads
- both threads execute _itemStore.AddOrUpdate near simultaneously
- when both threads land on the next line (checking ...
by shane
Tue May 12, 2020 6:37 am
Forum: Inetlab.SMPP v2.x (.NET Standard, .NET Core)
Topic: Connection recovery can send multiple bind requests
Replies: 6
Views: 194017

Connection recovery can send multiple bind requests

Hi,

After a client is disconnected from a server, it attempts to reconnect and rebind.

If the server is in a bad state, where it accepts the connection but does not respond to messages, these binding attempts with fail with SMPPCLIENT_RCVTIMEOUT and the socket will be disconnected. The client will ...
by shane
Tue May 12, 2020 6:12 am
Forum: Inetlab.SMPP v2.x (.NET Standard, .NET Core)
Topic: Race condition in MessageComposer causes NullReferenceException
Replies: 6
Views: 43691

Race condition in MessageComposer causes NullReferenceException

Hi,

When using MessageComposer in a stress testing project, I sometimes receive a NullReferenceException:

Object reference not set to an instance of an object. System.NullReferenceException

Inetlab.SMPP.dll!Inetlab.SMPP.Common.ComposerItem.GetFullMessage() Line 392 C#
Inetlab.SMPP.dll!Inetlab ...
by shane
Wed Apr 29, 2020 12:27 am
Forum: Inetlab.SMPP v2.x (.NET Standard, .NET Core)
Topic: response for evClientSubmitSm handler
Replies: 8
Views: 49034

Re: response for evClientSubmitSm handler

The library responds after your event handler completes. If your event handler throws an exception, a failure response is automatically sent.

To prevent an automatic response, set Response = null in the event args passed to your handler.

If you can't figure out what's going on, I recommend getting ...