54 lines
		
	
	
		
			780 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			780 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package srpc
 | 
						|
 | 
						|
import (
 | 
						|
	"io"
 | 
						|
	"olznet.de/ssob"
 | 
						|
)
 | 
						|
 | 
						|
type IEncoder interface {
 | 
						|
	Encode(e interface{}) error
 | 
						|
}
 | 
						|
 | 
						|
type IDecoder interface {
 | 
						|
	Decode(e interface{}) error
 | 
						|
}
 | 
						|
 | 
						|
type IEncoderHandler interface {
 | 
						|
	NewEncoder(w io.Writer) IEncoder
 | 
						|
}
 | 
						|
 | 
						|
type IDecoderHandler interface {
 | 
						|
	NewDecoder(r io.Reader) IDecoder
 | 
						|
}
 | 
						|
 | 
						|
type IEncoderDecoder interface {
 | 
						|
	IEncoderHandler
 | 
						|
	IDecoderHandler
 | 
						|
}
 | 
						|
 | 
						|
type Encoder struct {
 | 
						|
}
 | 
						|
 | 
						|
func (e *Encoder) NewEncoder(w io.Writer) IEncoder {
 | 
						|
	return ssob.NewEncoder(w)
 | 
						|
}
 | 
						|
 | 
						|
type Decoder struct {
 | 
						|
}
 | 
						|
 | 
						|
func (d *Decoder) NewDecoder(r io.Reader) IDecoder {
 | 
						|
	return ssob.NewDecoder(r)
 | 
						|
}
 | 
						|
 | 
						|
type EncoderDecoder struct {
 | 
						|
	IEncoderHandler
 | 
						|
	IDecoderHandler
 | 
						|
}
 | 
						|
 | 
						|
func NewEncoderDecoder() IEncoderDecoder {
 | 
						|
	enc := new(Encoder)
 | 
						|
	dec := new(Decoder)
 | 
						|
 | 
						|
	return &EncoderDecoder{enc, dec}
 | 
						|
}
 |