JUCE

- Main Page
- Related Pages
- Topics
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Loading...
Searching...
No Matches
Public Member Functions | List of all members
juce::midi_ci::InitiatorPropertyExchangeCache Class Reference
juce_midi_ci » ci

Accumulates message chunks that have been sent by another device in response to a transaction initiated by a local device. More...

`#include <juce_CIPropertyExchangeCache.h>`

## Public Member Functions
| InitiatorPropertyExchangeCache ()
| ~InitiatorPropertyExchangeCache ()
| InitiatorPropertyExchangeCache (InitiatorPropertyExchangeCache &&) noexcept
InitiatorPropertyExchangeCache & | operator= (InitiatorPropertyExchangeCache &&) noexcept
std::optional< Token64 > | primeCache (uint8_t maxSimultaneousRequests, std::function< void(const PropertyExchangeResult &)> onDone)
| Picks an unused request ID, and prepares the cache for that ID to accumulate message chunks.
bool | terminate (Token64)
| Terminates/cancels an ongoing transaction.
std::optional< Token64 > | getTokenForRequestId (RequestID) const
| If there's a transaction ongoing with the given request id, returns the token uniquely identifying that transaction, otherwise returns nullopt.
std::optional< RequestID > | getRequestIdForToken (Token64) const
| If the token refers to an ongoing transaction, returns the request id of that transaction.
void | addChunk (RequestID, const Message::DynamicSizePropertyExchange &chunk)
| Adds a message chunk for the provided transaction id.
void | notify (RequestID, Span< const std::byte > header)
| Updates the transaction state based on the contents of the provided notification.
std::vector< Token64 > | getOngoingTransactions () const
| Returns all ongoing transactions.

## Detailed Description

Accumulates message chunks that have been sent by another device in response to a transaction initiated by a local device.

## Constructor & Destructor Documentation

## ◆ InitiatorPropertyExchangeCache() [1/2]

juce::midi_ci::InitiatorPropertyExchangeCache::InitiatorPropertyExchangeCache | ( |  | ) |

## ◆ ~InitiatorPropertyExchangeCache()

juce::midi_ci::InitiatorPropertyExchangeCache::~InitiatorPropertyExchangeCache | ( |  | ) |

## ◆ InitiatorPropertyExchangeCache() [2/2]

juce::midi_ci::InitiatorPropertyExchangeCache::InitiatorPropertyExchangeCache | ( | InitiatorPropertyExchangeCache && |  | ) |
| noexcept

## Member Function Documentation

## ◆ operator=()

InitiatorPropertyExchangeCache & juce::midi_ci::InitiatorPropertyExchangeCache::operator= | ( | InitiatorPropertyExchangeCache && |  | ) |
| noexcept

## ◆ primeCache()

std::optional< Token64 > juce::midi_ci::InitiatorPropertyExchangeCache::primeCache | ( | uint8_t | maxSimultaneousRequests,
|  | std::function< void(const PropertyExchangeResult &)> | onDone )

Picks an unused request ID, and prepares the cache for that ID to accumulate message chunks.

Incoming chunks added with addChunk are generated by another device acting as a responder.

## ◆ terminate()

bool juce::midi_ci::InitiatorPropertyExchangeCache::terminate | ( | Token64 |  | ) |

Terminates/cancels an ongoing transaction.

Returns true if the termination had an effect (i.e. the transaction was still ongoing), or false otherwise (the transaction already ended or never started).

## ◆ getTokenForRequestId()

std::optional< Token64 > juce::midi_ci::InitiatorPropertyExchangeCache::getTokenForRequestId | ( | RequestID |  | ) | const

If there's a transaction ongoing with the given request id, returns the token uniquely identifying that transaction, otherwise returns nullopt.

## ◆ getRequestIdForToken()

std::optional< RequestID > juce::midi_ci::InitiatorPropertyExchangeCache::getRequestIdForToken | ( | Token64 |  | ) | const

If the token refers to an ongoing transaction, returns the request id of that transaction.

Otherwise, returns an invalid request id.

## ◆ addChunk()

void juce::midi_ci::InitiatorPropertyExchangeCache::addChunk | ( | RequestID | ,
|  | const Message::DynamicSizePropertyExchange & | chunk )

Adds a message chunk for the provided transaction id.

## ◆ notify()

void juce::midi_ci::InitiatorPropertyExchangeCache::notify | ( | RequestID | ,
|  | Span< const std::byte > | header )

Updates the transaction state based on the contents of the provided notification.

## ◆ getOngoingTransactions()

std::vector< Token64 > juce::midi_ci::InitiatorPropertyExchangeCache::getOngoingTransactions | ( |  | ) | const

Returns all ongoing transactions.

The documentation for this class was generated from the following file:

- juce_CIPropertyExchangeCache.h