|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.fourthline.cling.mock.MockRouter
@Alternative public class MockRouter
This is not a real network transport layer, it collects all messages instead and makes
them available for testing with getOutgoingDatagramMessages(),
getSentStreamRequestMessages(), etc. Mock responses for TCP (HTTP) stream requests
can be returned by overriding getStreamResponseMessage(org.fourthline.cling.model.message.StreamRequestMessage)
or getStreamResponseMessages() if you know the order of requests.
| Constructor Summary | |
|---|---|
MockRouter(UpnpServiceConfiguration configuration,
ProtocolFactory protocolFactory)
|
|
| Method Summary | |
|---|---|
void |
broadcast(byte[] bytes)
Call this method to broadcast a UDP message to all hosts on the network. |
boolean |
disable()
Unbinds all sockets and stops all listening threads for datagrams and streams. |
boolean |
enable()
Starts all sockets and listening threads for datagrams and streams. |
List<NetworkAddress> |
getActiveStreamServers(InetAddress preferredAddress)
|
List<byte[]> |
getBroadcastedBytes()
|
UpnpServiceConfiguration |
getConfiguration()
|
List<IncomingDatagramMessage> |
getIncomingDatagramMessages()
|
List<OutgoingDatagramMessage> |
getOutgoingDatagramMessages()
|
ProtocolFactory |
getProtocolFactory()
|
List<UpnpStream> |
getReceivedUpnpStreams()
|
List<StreamRequestMessage> |
getSentStreamRequestMessages()
|
StreamResponseMessage |
getStreamResponseMessage(StreamRequestMessage request)
|
StreamResponseMessage[] |
getStreamResponseMessages()
|
void |
handleStartFailure(InitializationException ex)
Called by the Router.enable() method before it returns. |
boolean |
isEnabled()
|
void |
received(IncomingDatagramMessage msg)
This method is called internally by the transport layer when a datagram, either unicast or multicast, has been received. |
void |
received(UpnpStream stream)
This method is called internally by the transport layer when a TCP stream connection has been made and a response has to be returned to the sender. |
void |
resetStreamRequestMessageCounter()
|
void |
send(OutgoingDatagramMessage msg)
Call this method to send a UDP datagram message. |
StreamResponseMessage |
send(StreamRequestMessage msg)
Call this method to send a TCP (HTTP) stream message. |
void |
shutdown()
Disables the router and releases all other resources. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public int counter
public List<IncomingDatagramMessage> incomingDatagramMessages
public List<OutgoingDatagramMessage> outgoingDatagramMessages
public List<UpnpStream> receivedUpnpStreams
public List<StreamRequestMessage> sentStreamRequestMessages
public List<byte[]> broadcastedBytes
protected UpnpServiceConfiguration configuration
protected ProtocolFactory protocolFactory
| Constructor Detail |
|---|
public MockRouter(UpnpServiceConfiguration configuration,
ProtocolFactory protocolFactory)
| Method Detail |
|---|
public UpnpServiceConfiguration getConfiguration()
getConfiguration in interface Routerpublic ProtocolFactory getProtocolFactory()
getProtocolFactory in interface Router
public boolean enable()
throws RouterException
Router
enable in interface Routertrue if the router was enabled. false if it's already running.
RouterException
public boolean disable()
throws RouterException
Router
disable in interface Routertrue if the router was disabled. false if it wasn't running.
RouterException
public void shutdown()
throws RouterException
Router
shutdown in interface RouterRouterException
public boolean isEnabled()
throws RouterException
isEnabled in interface Routertrue if the router is currently enabled.
RouterException
public void handleStartFailure(InitializationException ex)
throws InitializationException
RouterRouter.enable() method before it returns.
handleStartFailure in interface Routerex - The cause of the failure.
InitializationException - if the exception was not recoverable.
public List<NetworkAddress> getActiveStreamServers(InetAddress preferredAddress)
throws RouterException
getActiveStreamServers in interface RouterpreferredAddress - A preferred stream server bound address or null.
RouterExceptionpublic void received(IncomingDatagramMessage msg)
RouterThis method is called internally by the transport layer when a datagram, either unicast or multicast, has been received. An implementation of this interface has to handle the received message, e.g. selecting and executing a UPnP protocol. This method should not block until the execution completes, the calling thread should be free to handle the next reception as soon as possible.
received in interface Routermsg - The received datagram message.public void received(UpnpStream stream)
RouterThis method is called internally by the transport layer when a TCP stream connection has been made and a response has to be returned to the sender. An implementation of this interface has to handle the received stream connection and return a response, e.g. selecting and executing a UPnP protocol. This method should not block until the execution completes, the calling thread should be free to process the next reception as soon as possible. Typically this means starting a new thread of execution in this method.
received in interface Router
public void send(OutgoingDatagramMessage msg)
throws RouterException
RouterCall this method to send a UDP datagram message.
send in interface Routermsg - The UDP datagram message to send.
RouterException - if a recoverable error, such as thread interruption, occurs.
public StreamResponseMessage send(StreamRequestMessage msg)
throws RouterException
RouterCall this method to send a TCP (HTTP) stream message.
send in interface Routermsg - The TCP (HTTP) stream message to send.
RouterException - if a recoverable error, such as thread interruption, occurs.public void broadcast(byte[] bytes)
RouterCall this method to broadcast a UDP message to all hosts on the network.
broadcast in interface Routerbytes - The byte payload of the UDP datagram.public void resetStreamRequestMessageCounter()
public List<IncomingDatagramMessage> getIncomingDatagramMessages()
public List<OutgoingDatagramMessage> getOutgoingDatagramMessages()
public List<UpnpStream> getReceivedUpnpStreams()
public List<StreamRequestMessage> getSentStreamRequestMessages()
public List<byte[]> getBroadcastedBytes()
public StreamResponseMessage[] getStreamResponseMessages()
public StreamResponseMessage getStreamResponseMessage(StreamRequestMessage request)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||