Class HeartbeatingHttpStream
- java.lang.Object
-
- java.io.InputStream
-
- com.sedmelluq.discord.lavaplayer.tools.io.SeekableInputStream
-
- com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream
-
- com.sedmelluq.discord.lavaplayer.source.nico.HeartbeatingHttpStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class HeartbeatingHttpStream extends PersistentHttpStream
An extension of PersistentHttpStream that allows for sending heartbeats to a secondary URL.
-
-
Field Summary
-
Fields inherited from class com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream
contentUrl, currentContent, httpInterface, position
-
Fields inherited from class com.sedmelluq.discord.lavaplayer.tools.io.SeekableInputStream
contentLength
-
-
Constructor Summary
Constructors Constructor Description HeartbeatingHttpStream(HttpInterface httpInterface, java.net.URI contentUrl, java.lang.Long contentLength, java.lang.String heartbeatUrl, int heartbeatInterval, java.lang.String heartbeatPayload)Creates a new heartbeating http stream.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()protected voidsendHeartbeat()protected voidsetupHeartbeat()-
Methods inherited from class com.sedmelluq.discord.lavaplayer.tools.io.PersistentHttpStream
available, canSeekHard, checkStatusCode, connect, createContentInputStream, getConnectUrl, getCurrentResponse, getPosition, getTrackInfoProviders, internalRead, internalSkip, markSupported, read, read, releaseConnection, reset, seekHard, skip, useHeadersForRange
-
Methods inherited from class com.sedmelluq.discord.lavaplayer.tools.io.SeekableInputStream
getContentLength, getMaxSkipDistance, seek, skipFully
-
-
-
-
Constructor Detail
-
HeartbeatingHttpStream
public HeartbeatingHttpStream(HttpInterface httpInterface, java.net.URI contentUrl, java.lang.Long contentLength, java.lang.String heartbeatUrl, int heartbeatInterval, java.lang.String heartbeatPayload)
Creates a new heartbeating http stream.- Parameters:
httpInterface- The HTTP interface to use for requests.contentUrl- The URL to play from.contentLength- The length of the content. Null if unknown.heartbeatUrl- The URL to send heartbeat requests to.heartbeatInterval- The interval at which to heartbeat, in milliseconds.heartbeatPayload- The initial heartbeat payload.
-
-
Method Detail
-
setupHeartbeat
protected void setupHeartbeat()
-
sendHeartbeat
protected void sendHeartbeat() throws java.io.IOException- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Overrides:
closein classPersistentHttpStream- Throws:
java.io.IOException
-
-