package pstoremem

import (
	

	
	pstore 
)

type memoryPeerMetadata struct {
	// store other data, like versions
	ds     map[peer.ID]map[string]interface{}
	dslock sync.RWMutex
}

var _ pstore.PeerMetadata = (*memoryPeerMetadata)(nil)

func () *memoryPeerMetadata {
	return &memoryPeerMetadata{
		ds: make(map[peer.ID]map[string]interface{}),
	}
}

func ( *memoryPeerMetadata) ( peer.ID,  string,  interface{}) error {
	.dslock.Lock()
	defer .dslock.Unlock()
	,  := .ds[]
	if ! {
		 = make(map[string]interface{})
		.ds[] = 
	}
	[] = 
	return nil
}

func ( *memoryPeerMetadata) ( peer.ID,  string) (interface{}, error) {
	.dslock.RLock()
	defer .dslock.RUnlock()
	,  := .ds[]
	if ! {
		return nil, pstore.ErrNotFound
	}
	,  := []
	if ! {
		return nil, pstore.ErrNotFound
	}
	return , nil
}

func ( *memoryPeerMetadata) ( peer.ID) {
	.dslock.Lock()
	delete(.ds, )
	.dslock.Unlock()
}