# strophejs-plugin-stream-management

> Strophe.stream-management.js is a plugin that implements stream management on XMPP. ( XEP-0198 )

Latest version **1.0.3** (published 2019-05-01) · MIT license · 0 weekly downloads

## Install

```sh
npm install strophejs-plugin-stream-management
pnpm add strophejs-plugin-stream-management
yarn add strophejs-plugin-stream-management
bun add strophejs-plugin-stream-management
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.3 |
| Published | 2019-05-01 |
| First published | 2019-04-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 11.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Strophe plugin developers |
| Maintainers | mayur.tailor009 |

## Links

- npm: https://www.npmjs.com/package/strophejs-plugin-stream-management
- Repository: https://github.com/mayurtailor009/strophejs-plugin-stream-management
- Homepage: https://github.com/mayurtailor009/strophejs-plugin-stream-management#readme
- Issues: https://github.com/mayurtailor009/strophejs-plugin-stream-management
- npm.io page: https://npm.io/package/strophejs-plugin-stream-management

## Recent versions

- 1.0.3 (latest) — 2019-05-01
- 1.0.2 — 2019-05-01
- 1.0.1 — 2019-05-01
- 1.0.0 — 2019-04-26

## README

# Strophe.stream-management.js


Strophe.stream-management.js is a plugin that implements stream management on XMPP. ([ XEP-0198 ]( http://xmpp.org/extensions/xep-0198.html ))

## Usage

After you connected successfully to the XMPP server you can enable stream management:

```
	connection.streamManagement.enable();
```


You can also enable the option to send a request response on every received stanza:

```
	connection.streamManagement.sendCountOnEveryIncomingStanza = true;
```

By default the client will request a response every 5 stanzas sent. You can change that behavior
setting the value of requestResponseInterval. To disable this feature set to zero.

```
	connection.streamManagement.requestResponseInterval = 5;
```

You may also manually request an acknowledgement at any point:

```
	connection.streamManagement.requestAcknowledgement();
```

By adding a listener, you will receive the ID of each sent stanza that has been acknowledged by the server.
There is currently no way remove a listener.

```
	connection.streamManagement.addAcknowledgedStanzaListener(myFunc(id));
```

The default behavior is to return only the stanza ID.
You can request that the whole stanza is instead returned.

```
	connection.streamManagement.returnWholeStanza = true;
```

To get sent stanzas stream count use:

```
	connection.streamManagement.getOutgoingCounter();
```

To get received stream count use:

```
	connection.streamManagement.getIncomingCounter();
```

You may enable logging to have the console notify you when the server has acknowledged some but not all stanzas.
Such instances can occur due to transmission delay and is therefore not necessarily a critical error.
Logging is disabled by default.

```
	connection.streamManagement.logging = true;
```

# Notes

Please note that between requesting the enablement of stream management and the server confirming support.
The sending stream is paused. This means that if the server does not support XEP-198, your application
will stop sending stanzas until to you manually resume the stream 'connection.resume()'.

You may also run into issues if you use 'connection.pause()' or 'connection.resume' elsewhere in your codebase.

## Contributors

- Tom Evans
- Javier Vega
- Emmet McPoland


##TODO

Add additional examples of usage.

---
_Source: https://npm.io/package/strophejs-plugin-stream-management · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
