/**
* Dianping.com Inc.
* Copyright (c) 2003-2013 All Rights Reserved.
*/
package com.dianping.pigeon.remoting.common.codec;
/**
* @author xiangwu
* @Sep 5, 2013
*
*/
import java.io.InputStream;
import java.io.OutputStream;
import com.dianping.pigeon.remoting.common.domain.InvocationRequest;
import com.dianping.pigeon.remoting.common.domain.InvocationResponse;
import com.dianping.pigeon.remoting.common.exception.SerializationException;
import com.dianping.pigeon.remoting.invoker.config.InvokerConfig;
import com.dianping.pigeon.remoting.invoker.domain.InvokerContext;
public interface Serializer {
Object deserializeRequest(InputStream is) throws SerializationException;
void serializeRequest(OutputStream os, Object obj) throws SerializationException;
Object deserializeResponse(InputStream is) throws SerializationException;
void serializeResponse(OutputStream os, Object obj) throws SerializationException;
Object proxyRequest(InvokerConfig<?> invokerConfig) throws SerializationException;
InvocationResponse newResponse() throws SerializationException;
InvocationRequest newRequest(InvokerContext invokerContext) throws SerializationException;
}