implement Marshal/Unmarshal in codec interface
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
		
							
								
								
									
										16
									
								
								proto.go
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								proto.go
									
									
									
									
									
								
							| @@ -13,6 +13,22 @@ type Codec struct { | ||||
| 	Conn io.ReadWriteCloser | ||||
| } | ||||
|  | ||||
| func (c *Codec) Marshal(v interface{}) ([]byte, error) { | ||||
| 	m, ok := v.(proto.Message) | ||||
| 	if !ok { | ||||
| 		return nil, codec.ErrInvalidMessage | ||||
| 	} | ||||
| 	return proto.Marshal(m) | ||||
| } | ||||
|  | ||||
| func (c *Codec) Unmarshal(data []byte, v interface{}) error { | ||||
| 	m, ok := v.(proto.Message) | ||||
| 	if !ok { | ||||
| 		return codec.ErrInvalidMessage | ||||
| 	} | ||||
| 	return proto.Unmarshal(data, m) | ||||
| } | ||||
|  | ||||
| func (c *Codec) ReadHeader(m *codec.Message, t codec.MessageType) error { | ||||
| 	return nil | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user