|  |  |  | @ -1,36 +1,26 @@ | 
		
	
		
			
				|  |  |  |  | package graphvent | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | import ( | 
		
	
		
			
				|  |  |  |  |   "encoding/json" | 
		
	
		
			
				|  |  |  |  | ) | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | type GroupExt struct { | 
		
	
		
			
				|  |  |  |  |   Members map[NodeID]string `gv:"members"` | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | var GroupReadPolicy = NewAllNodesPolicy(Tree{ | 
		
	
		
			
				|  |  |  |  |   SerializedType(ReadSignalType): { | 
		
	
		
			
				|  |  |  |  |     SerializedType(GroupExtType): { | 
		
	
		
			
				|  |  |  |  |       Hash(FieldNameBase, "members"): nil, | 
		
	
		
			
				|  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |   }, | 
		
	
		
			
				|  |  |  |  | }) | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | func (ext *GroupExt) Type() ExtType { | 
		
	
		
			
				|  |  |  |  |   return GroupExtType | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | func (ext *GroupExt) MarshalBinary() ([]byte, error) { | 
		
	
		
			
				|  |  |  |  |   return json.Marshal(ext) | 
		
	
		
			
				|  |  |  |  | type GroupExt struct { | 
		
	
		
			
				|  |  |  |  |   Members []NodeID `gv:"members"` | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | func NewGroupExt(members map[NodeID]string) *GroupExt { | 
		
	
		
			
				|  |  |  |  |   if members == nil { | 
		
	
		
			
				|  |  |  |  |     members = map[NodeID]string{} | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | func NewGroupExt(members []NodeID) *GroupExt { | 
		
	
		
			
				|  |  |  |  |   return &GroupExt{ | 
		
	
		
			
				|  |  |  |  |     Members: members, | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | func (ext *GroupExt) Deserialize(ctx *Context, data []byte) error { | 
		
	
		
			
				|  |  |  |  |   ext.Members = map[NodeID]string{} | 
		
	
		
			
				|  |  |  |  |   return json.Unmarshal(data, ext) | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  | func (ext *GroupExt) Process(ctx *Context, node *Node, source NodeID, signal Signal) Messages { | 
		
	
		
			
				|  |  |  |  |   return nil | 
		
	
		
			
				|  |  |  |  | } | 
		
	
	
		
			
				
					|  |  |  | 
 |