All Classes and Interfaces

Class
Description
Represents any update to the library.
What kind of modification an action performs on the library
An action which has just been performed by another client.
 
Request from a client to perform an action.
 
 
Response to ActionRequest which tells the client how to move ahead with library sync.
The state of the request, based on which the client should decide how to complete the action.
Abstraction layer to define audio backends to interact with the operating system and hardware.
PMP Connection with a client.
All client storage files.
The main client storage file.
Last known state of playback, including track, position, filters, repeat and shuffle.
The client sensitive file.
Similar to SequenceInputStream, but the available method reports the sum of available bytes from both streams.
Audio backend that converts audio to a single PCM format.
Unique identifier for a client instance of PMP.
Used to indicate that a side is disconnecting from the socket.
Utility class to manage a shared Encryption.sslContext.
Message used to indicate that a programming error has manifested somewhere, likely by the receiving side.
An event source is the object where you can register and call event listeners.
java.io.ByteArrayOutputStream with some methods to allow easier usage without unnecessarily copying data from memory.
Library filters are the tool offered to allow narrowing the library down to only desired tracks.
Serializable class for communicating filters.
Update the list of filters.
 
 
An option in a filter, represents a unique metadata value for the filter's key.
Possible selection states of an option.
Utility class for reading metadata of FLAC files.
Request by the client to get a list of actions, from GetActionsRequest.from to the latest.
 
Response to a GetActionsRequest.
Class containing various global values which may be overridden during startup to change the behavior of underlying shared code.
A track header, used for sorting tracks and in some interfaces to display track data.
The data type of this header.
General management of loading, updating, sorting, filtering the library.
Server-side library management.
A library action which has been ActionResponse.Type.APPROVED but which the server is still waiting for the client to ActionResponse.Type.COMPLETED.
An audio backend which uses SourceDataLine to interface with the OS.
Event listeners used to listen to EventSources.
Class used to proxy System.out and System.err to be logged through log4j.
Request to log in as an existing device.
 
Request to log in as a new device.
 
A login request was rejected.
Machine readable reason for why the login has failed.
 
After a request, the client is now logged in.
 
The entry point of the client's logic layer.
The entry point.
Base class of all messages.
Used to define handling logic for messages.
Class used to listen to messages from a specific connection.
Handles exposing playback state to MPRIS.
Enum specifying possible sorting orders.
Single thread executor service which interrupts a previous task whenever a new one is submitted.
Basic utility generic class to store two values at once.
Instantiatable ParameterizedType.
Management of the state of playback.
Used to indicate that a device is trying to control the playback owner
 
 
Used to claim playback ownership and to indicate ownership has changed.
 
 
Used to indicate that the playback owner has updated information
 
 
Handle playback and related state
Defines a connection which uses PMP's protocol.
Audio backend using PulseAudio.
Enum specifying the possible states of repeating playback.
Any message that expects to receive a Response.
Any message that responds to a Request.
An event source which stores the last event and calls newly registered listeners if a previous event was emitted.
An alternative implementation of ScopedValue to be able to run on older JREs
Class containing a value to be set.
Sensitive storage contains particularly important information that should not be shared and must be saved as soon as possible.
Handles the connection with the server.
The thread responsible for handling incoming library actions.
The thread responsible for performing outgoing actions.
Thread responsible for correctly starting Server.ActionHandlingThread and Server.ActionSendingThread.
Used to deserialize the server's library
All storage used in the server.
Main storage used in the server.
Sensitive server storage, contains private values and values which must be stored as quickly as possible.
Enum specifying the possible states of shuffling playback.
Utility class to gracefully terminate the execution of the program.
Storages are used to store data to disk to keep it throughout restarts of the program.
A value which is stored in a Storage file.
Jackson serializer which allows stored values to not be wrapped in unnecessary Stored objects.
BlockingDeque for use in storage designed to have at most 1 consuming thread.
Equivalent to Stored<Integer>, but guarantees non-null values and implements int-specific methods
Stored Key objects.
Generic stored list for ease of use.
Generic stored map for ease of use.
A track, containing all necessary information to identify, filter and sort without needing to parse the FLAC file.
A track in the library with information needed by the server.
Audio format contained in a track.
Manages the HTTP server for transferring files.
Jackson mixin used to omit lastModified in TransferHandler.sendTrackList(HttpExchange)