Skip to content

Tags: linxGnu/gosmpp

Tags

v0.3.0

Toggle v0.3.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Feature: PDU SubmitWindow with; MaxWindowSize option, ExpectedRespons…

…e handler, ExpiredPdus handler and NoRespPdu OnClose handler (#134)

What: 
- Add a submit window via a
[concurrent-map](https://github.com/orcaman/concurrent-map) that tracks
Requests (SubmitSM, EnquireLinks, ReplaceSM, etc..)
- Add functionality to return a expected response with the original sent
PDU
- Add functionality to track PDUs with no response and a timer setting
for when they expire
- Add a max window size setting, to limit the number of outbound request
- Add function call to get current bind window size on Tx and Trx
- Add function call to get a PDU stuck in the submit store when the bind
closes.
- Add an example on how to use new settings
- Add an example on how to implemented a Custom PDU to add any fields to
be tracked

Why: As requested in #126, #105 and #73, the user sometimes needs to
track all requests sent to SMSC. Either to relate a response to a
request, or to track a request that have received no response or even to
limit the number of outgoing request without any response from the SMSC.

How: 
- The main feature, the submit window, works by using a
[concurrent-map](https://github.com/orcaman/concurrent-map) as a
key/value store. The key is the PDU sequence number and the value is a
new Request struct created for this feature. Concurrent-map is thread
safe and has all the functionality needed for this use case. The map
gets reset on every rebind and all PDUs stored in the map are can be
retruned to the user via a func call when the session is closed.
- When the user Submits a PDU, it is stored in the new Request struct
with the request is created
- When the library receives a PDU from the SMSC, it will verify if the
PDU is a response type (SubmitSMResp, ReplaceSMResp, etc) and queries
the key/value store with the sequence number. If the store contains a
PDU request, the response is returned to the user with the PDU and the
original request via OnExpectedPduResponse setting. The Request is
removed from the store after the lookup.
- Receivable has been modified to add a new loopWithVerifyExpiredPdu,
that verifies all PDU in the store and compare the time they were
stored. If the time is great than the value entered by the setting
PduExpireTimeOut, the PDU is removed from the store and return to the
user via OnExpiredPduRequest.

The submit window will only contain PDU that return true on CanResponse,
except Unbind and BindRequest:
- CancelSM
- DataSM
- DeliverSM
- EnquireLink
- QuerySM
- ReplaceSM
- SubmitMulti
- SubmitSM

This PR does not break current user experience, all old test pass and if
user does not add the new settings, all will work as it previously did.

v0.2.1

Toggle v0.2.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
CHORE Update address range constructor (#145)

v0.2.0

Toggle v0.2.0's commit message
Adding comment

v0.1.10

Toggle v0.1.10's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Update README.md (#123)

v0.1.9

Toggle v0.1.9's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Bump golang.org/x/text from 0.13.0 to 0.14.0 (#116)

Bumps [golang.org/x/text](https://github.com/golang/text) from 0.13.0 to
0.14.0.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/golang/text/commit/6c97a165dd661335ff7bce6104a008558123c353"><code>6c97a16</code></a>
all: update go directive to 1.18</li>
<li>See full diff in <a
href="https://github.com/golang/text/compare/v0.13.0...v0.14.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=golang.org/x/text&package-manager=go_modules&previous-version=0.13.0&new-version=0.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

v0.1.8

Toggle v0.1.8's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix SubmitSMResp unmarshalling when CommandStatus != data.ESME_ROK (#113

)

v0.1.7

Toggle v0.1.7's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Fix GSM7Bit packed splitting (#108)

Closes #100

v0.1.6

Toggle v0.1.6's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
Bump golang.org/x/text from 0.6.0 to 0.7.0 (#97)

v0.1.5

Toggle v0.1.5's commit message
NO-ISSUE Update libs

v0.1.4

Toggle v0.1.4's commit message
Update example code