Documentation ¶
Overview ¶
Package server implements a Freestore server.
Index ¶
- Constants
- type AdminService
- type InstallSeq
- type InstallSeqMsg
- type ReconfigMsg
- type ReconfigurationRequest
- func (r *ReconfigurationRequest) InstallSeq(arg InstallSeqMsg, reply *struct{}) error
- func (r *ReconfigurationRequest) Reconfig(arg ReconfigMsg, reply *struct{}) error
- func (r *ReconfigurationRequest) StateUpdate(arg SyncStateMsg, reply *struct{}) error
- func (r *ReconfigurationRequest) ViewInstalled(arg ViewInstalledMsg, reply *struct{}) error
- type RegisterService
- type RegisterValue
- type SeqConv
- type SeqConvMsg
- type Server
- type State
- type Storage
- type SyncStateMsg
- type Value
- type ViewGeneratorRequest
- type ViewInstalledMsg
- type ViewSeq
- func (viewSeq ViewSeq) Append(views ...*view.View) ViewSeq
- func (viewSeq ViewSeq) Equal(otherViewSeq ViewSeq) bool
- func (viewSeq ViewSeq) GetLeastUpdatedView() *view.View
- func (viewSeq ViewSeq) GetMostUpdatedView() *view.View
- func (viewSeq ViewSeq) HasView(view *view.View) bool
- func (viewSeq ViewSeq) HasViewMoreUpdatedThan(otherView *view.View) bool
- type ViewSeqMsg
Constants ¶
View Source
const (
CHANNEL_DEFAULT_SIZE = 20
)
View Source
const CONSENSUS_LEADER_PROCESS_POSITION int = 0
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdminService ¶
type AdminService struct{}
func (*AdminService) Leave ¶
func (r *AdminService) Leave(anything struct{}, reply *struct{}) error
type InstallSeq ¶
func (InstallSeq) Equal ¶
func (installSeq InstallSeq) Equal(installSeq2 InstallSeq) bool
type InstallSeqMsg ¶
type InstallSeqMsg struct { Sender view.Process InstallSeq }
func (InstallSeqMsg) Equal ¶
func (installSeqMsg InstallSeqMsg) Equal(installSeqMsg2 InstallSeqMsg) bool
func (InstallSeqMsg) String ¶
func (installSeq InstallSeqMsg) String() string
type ReconfigurationRequest ¶
type ReconfigurationRequest int
func (*ReconfigurationRequest) InstallSeq ¶
func (r *ReconfigurationRequest) InstallSeq(arg InstallSeqMsg, reply *struct{}) error
func (*ReconfigurationRequest) Reconfig ¶
func (r *ReconfigurationRequest) Reconfig(arg ReconfigMsg, reply *struct{}) error
func (*ReconfigurationRequest) StateUpdate ¶
func (r *ReconfigurationRequest) StateUpdate(arg SyncStateMsg, reply *struct{}) error
func (*ReconfigurationRequest) ViewInstalled ¶
func (r *ReconfigurationRequest) ViewInstalled(arg ViewInstalledMsg, reply *struct{}) error
type RegisterService ¶
type RegisterService struct{}
func (*RegisterService) GetCurrentView ¶
func (r *RegisterService) GetCurrentView(anything struct{}, reply **view.View) error
type RegisterValue ¶
type RegisterValue struct { Value interface{} Timestamp uint64 }
type SeqConvMsg ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
type Storage ¶
type Storage interface { Read(name string) (RegisterValue, error) Write(name string, value RegisterValue) error LockAll() UnlockAll() }
TODO Add state synchronization logic to Storage
type SyncStateMsg ¶
type ViewGeneratorRequest ¶
type ViewGeneratorRequest int
func (*ViewGeneratorRequest) ProposeSeqView ¶
func (r *ViewGeneratorRequest) ProposeSeqView(arg ViewSeqMsg, reply *struct{}) error
func (*ViewGeneratorRequest) SeqConv ¶
func (r *ViewGeneratorRequest) SeqConv(arg SeqConvMsg, reply *struct{}) error
type ViewInstalledMsg ¶
type ViewSeqMsg ¶
type ViewSeqMsg struct { Sender view.Process AssociatedView *view.View ProposedSeq ViewSeq LastConvergedSeq ViewSeq }
func (ViewSeqMsg) SameButDifferentSender ¶
func (thisViewSeqMsg ViewSeqMsg) SameButDifferentSender(otherViewSeqMsg ViewSeqMsg) bool
Click to show internal directories.
Click to hide internal directories.