blob: 0d677d8cc72e61ce10e44e6f201253e48674a8d3 [file] [log] [blame]
/*
* Copyright 1999-2011 Alibaba Group.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.alibaba.dubbo.registry.dubbo;
import java.net.InetSocketAddress;
import java.util.Map;
import com.alibaba.dubbo.common.URL;
import com.alibaba.dubbo.remoting.Channel;
import com.alibaba.dubbo.remoting.ChannelHandler;
import com.alibaba.dubbo.remoting.Codec;
import com.alibaba.dubbo.remoting.RemotingException;
import com.alibaba.dubbo.remoting.exchange.ExchangeClient;
import com.alibaba.dubbo.remoting.exchange.ExchangeHandler;
import com.alibaba.dubbo.remoting.exchange.ResponseCallback;
import com.alibaba.dubbo.remoting.exchange.ResponseFuture;
import com.alibaba.dubbo.remoting.exchange.support.Replier;
/**
* MockedClient
*
* @author william.liangf
*/
public class MockedClient implements ExchangeClient {
//private String host;
//private int port;
private boolean connected;
private Object received;
private Object sent;
private Object invoked;
private Replier<?> handler;
private InetSocketAddress address;
private boolean closed = false;
//private ChannelListener listener;
public MockedClient(String host, int port, boolean connected) {
this(host, port, connected, null);
}
public MockedClient(String host, int port, boolean connected, Object received) {
this.address = new InetSocketAddress(host, port);
this.connected = connected;
this.received = received;
}
public void open() {
}
public void close() {
this.closed = true;
}
public void send(Object msg) throws RemotingException {
this.sent = msg;
}
public ResponseFuture request(Object msg) throws RemotingException {
return request(msg, 0);
}
public ResponseFuture request(Object msg, int timeout) throws RemotingException {
this.invoked = msg;
return new ResponseFuture() {
public Object get() throws RemotingException {
return received;
}
public Object get(int timeoutInMillis) throws RemotingException {
return received;
}
public boolean isDone() {
return true;
}
public void setCallback(ResponseCallback callback) {
}
};
}
public void registerHandler(Replier<?> handler) {
this.handler = handler;
}
public void unregisterHandler(Replier<?> handler) {
//this.handler = null;
}
public void addChannelListener(ChannelHandler listener) {
//this.listener = listener;
}
public void removeChannelListener(ChannelHandler listener) {
//this.listener = null;
}
public boolean isConnected() {
return connected;
}
public Object getSent() {
return sent;
}
public Replier<?> getHandler() {
return handler;
}
public Object getInvoked() {
return invoked;
}
public InetSocketAddress getRemoteAddress() {
return address;
}
public String getName() {
return "mocked";
}
public InetSocketAddress getLocalAddress() {
return null;
}
public void setTimeout(int timeout) {
}
public int getTimeout() {
return 0;
}
public void close(int timeout) {
close();
}
public boolean isOpen() {
return closed;
}
public Codec getCodec() {
return null;
}
public void setCodec(Codec codec) {
}
public void setHost(String host) {
}
public String getHost() {
return null;
}
public void setPort(int port) {
}
public int getPort() {
return 0;
}
public void setThreadCount(int threadCount) {
}
public int getThreadCount() {
return 0;
}
public URL getUrl() {
return null;
}
public Replier<?> getReceiver() {
return null;
}
public ChannelHandler getChannelHandler() {
return null;
}
public void reset(Map<String, String> parameters) {
}
public Channel getChannel() {
return this;
}
public ExchangeHandler getExchangeHandler() {
return null;
}
public void reconnect() throws RemotingException {
}
public Object getAttribute(String key) {
return null;
}
public void setAttribute(String key, Object value) {
}
public boolean hasAttribute(String key) {
return false;
}
public boolean isClosed() {
return closed;
}
public void removeAttribute(String key) {
}
/**
* @return the received
*/
public Object getReceived() {
return received;
}
/**
* @param received the received to set
*/
public void setReceived(Object received) {
this.received = received;
}
/**
* @param connected the connected to set
*/
public void setConnected(boolean connected) {
this.connected = connected;
}
public void send(Object message, boolean sent) throws RemotingException {
}
public void reset(URL url) {
}
@Deprecated
public void reset(com.alibaba.dubbo.common.Parameters parameters) {
}
}