public class Backend extends Object implements com.yahoo.io.ConnectionFactory
Modifier and Type | Class and Description |
---|---|
static class |
Backend.BackendStatistics |
Modifier | Constructor and Description |
---|---|
protected |
Backend()
For unit testing.
|
|
Backend(String host,
int port,
String serverDiscriminator,
ListenerPool listenerPool,
ConnectionPool connectionPool) |
Modifier and Type | Method and Description |
---|---|
void |
close() |
void |
dumpPackets(PacketDumper.PacketType packetType,
boolean on) |
FS4Channel |
getChannel(int id)
Get an active channel by id.
|
FS4Channel |
getChannel(Integer id)
Get an active channel by id.
|
String |
getHost() |
FS4Channel |
getPingChannel()
Return the first channel in the queue waiting for pings or
null if none. |
int |
getPort() |
Backend.BackendStatistics |
getStatistics() |
com.yahoo.io.Connection |
newConnection(SocketChannel channel,
com.yahoo.io.Listener listener)
Connection factory used by the Listener class.
|
FS4Channel |
openChannel()
Opens a new channel to fdispatch.
|
FS4Channel |
openPingChannel() |
protected void |
receivePacket(BasicPacket packet)
When a connection receives a packet, it uses this method to
dispatch the packet to the right FS4Channel.
|
protected FS4Channel |
removeChannel(Integer id)
Remove a channel.
|
protected FS4Channel |
removePingChannel()
Remove a ping channel.
|
void |
returnConnection(FS4Connection connection)
Return a connection to the connection pool.
|
protected boolean |
sendPacket(BasicPacket packet,
Integer channelId) |
void |
shutdown()
This method should be used to ensure graceful shutdown of the backend.
|
String |
toString() |
protected Backend()
public Backend(String host, int port, String serverDiscriminator, ListenerPool listenerPool, ConnectionPool connectionPool)
public void returnConnection(FS4Connection connection)
public FS4Channel openChannel()
public FS4Channel openPingChannel()
public FS4Channel getChannel(Integer id)
id
- the (fs4) channel idnull
if the channel is not in the
set of active channels.public FS4Channel getPingChannel()
null
if none.public FS4Channel getChannel(int id)
id
- The (fs4) channel idnull
if the channel is not in the
set of active channels.protected FS4Channel removeChannel(Integer id)
id
- The (fs4) channel idnull
if the channel is
not in the set of active channels.protected FS4Channel removePingChannel()
null
if there are no active ping channels.protected boolean sendPacket(BasicPacket packet, Integer channelId) throws IOException
IOException
protected void receivePacket(BasicPacket packet)
public void shutdown()
public void close()
public com.yahoo.io.Connection newConnection(SocketChannel channel, com.yahoo.io.Listener listener)
newConnection
in interface com.yahoo.io.ConnectionFactory
public Backend.BackendStatistics getStatistics()
public void dumpPackets(PacketDumper.PacketType packetType, boolean on) throws IOException
IOException
public String getHost()
public int getPort()
Copyright © 2018. All rights reserved.