var searchIndex = {}; searchIndex["gluster"] = {"doc":"This is a library to interface with [Gluster](https://gluster.readthedocs.org/en/latest/)","items":[[3,"Brick","gluster","A Gluster Brick consists of a Peer and a path to the mount point",null,null],[12,"peer","","",0,null],[12,"path","","",0,null],[3,"BrickStatus","","",null,null],[3,"Quota","","A Quota can be used set limits on the pool usage. All limits are set in bytes.",null,null],[12,"path","","",1,null],[12,"limit","","",1,null],[12,"used","","",1,null],[3,"Peer","","A Gluster Peer. A Peer is roughly equivalent to a server in Gluster.",null,null],[12,"uuid","","The unique identifer of this peer",2,null],[12,"hostname","","The hostname or IP address of the peer",2,null],[12,"status","","The current State of the peer",2,null],[3,"Volume","","A volume is a logical collection of bricks. Most of the gluster management operations\nhappen on the volume.",null,null],[12,"name","","The name of the volume",3,null],[12,"vol_type","","The type of the volume",3,null],[12,"id","","The unique id of the volume",3,null],[12,"status","","",3,null],[12,"transport","","The underlying Transport mechanism",3,null],[12,"bricks","","A Vec containing all the Brick's that are in the Volume",3,null],[4,"GlusterError","","Custom error handling for the library",null,null],[13,"IoError","","",4,null],[13,"FromUtf8Error","","",4,null],[13,"ParseError","","",4,null],[13,"AddrParseError","","",4,null],[13,"ParseIntError","","",4,null],[13,"ParseBoolErr","","",4,null],[13,"ByteOrder","","",4,null],[13,"RegexError","","",4,null],[13,"NoVolumesPresent","","",4,null],[4,"State","","A enum representing the possible States that a Peer can be in",null,null],[13,"Connected","","",5,null],[13,"Disconnected","","",5,null],[13,"Unknown","","",5,null],[13,"EstablishingConnection","","",5,null],[13,"ProbeSentToPeer","","",5,null],[13,"ProbeReceivedFromPeer","","",5,null],[13,"PeerInCluster","","",5,null],[13,"AcceptedPeerRequest","","",5,null],[13,"SentAndReceivedPeerRequest","","",5,null],[13,"PeerRejected","","",5,null],[13,"PeerDetachInProgress","","",5,null],[13,"ConnectedToPeer","","",5,null],[13,"PeerIsConnectedAndAccepted","","",5,null],[13,"InvalidState","","",5,null],[4,"Transport","","An enum to select the transport method Gluster should use for the Volume",null,null],[13,"Tcp","","",6,null],[13,"Rdma","","",6,null],[13,"TcpAndRdma","","",6,null],[4,"VolumeTranslator","","",null,null],[13,"Stripe","","",7,null],[13,"Replica","","",7,null],[13,"Disperse","","",7,null],[13,"Redundancy","","",7,null],[4,"VolumeType","","These are all the different Volume types that are possible in Gluster\nNote: Tier is not represented here because I'm waiting for it to become more stable\nFor more information about these types see: [Gluster Volume]\n(https://gluster.readthedocs.org/en/latest/Administrator%20Guide/Setting%20Up%20Volumes/)",null,null],[13,"Distribute","","",8,null],[13,"Stripe","","",8,null],[13,"Replicate","","",8,null],[13,"StripedAndReplicate","","",8,null],[13,"Disperse","","",8,null],[13,"DistributedAndStripe","","",8,null],[13,"DistributedAndReplicate","","",8,null],[13,"DistributedAndStripedAndReplicate","","",8,null],[13,"DistributedAndDisperse","","",8,null],[5,"get_local_ip","","Returns the local IPv4Addr address associated with this server\n# Failures\nReturns a GlusterError representing any failure that may have happened while trying to\nquery this information.",null,{"inputs":[],"output":{"name":"result"}}],[5,"resolve_to_ip","","Resolves a &str hostname into a ip address.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"get_local_hostname","","A function to get the information from /etc/hostname",null,{"inputs":[],"output":{"name":"result"}}],[5,"get_peer","","This will query the Gluster peer list and return a Peer struct for the peer\n# Failures\nReturns GlusterError if the peer could not be found",null,{"inputs":[{"name":"string"}],"output":{"name":"result"}}],[5,"peer_status","","Runs gluster peer status and returns a Vec<Peer> representing all the peers in the cluster\n# Failures\nReturns GlusterError if the command failed to run",null,{"inputs":[],"output":{"name":"result"}}],[5,"peer_list","","Runs gluster pool list and returns a Vec<Peer> representing all the peers in the cluster\nThis also returns information for the localhost as a Peer. peer_status() does not\n# Failures\nReturns GlusterError if the command failed to run",null,{"inputs":[],"output":{"name":"result"}}],[5,"peer_probe","","Adds a new peer to the cluster by hostname or ip address\n# Failures\nReturns GlusterError if the command failed to run",null,{"inputs":[{"name":"string"}],"output":{"name":"result"}}],[5,"peer_remove","","Removes a peer from the cluster by hostname or ip address\n# Failures\nReturns GlusterError if the command failed to run",null,{"inputs":[{"name":"string"},{"name":"bool"}],"output":{"name":"result"}}],[5,"translate_to_bytes","","This is a helper function to convert values such as 1PB into a bytes\n# Examples\n```\nextern crate gluster;\nlet bytes = gluster::translate_to_bytes("1GB").unwrap();\nassert_eq!(bytes, 1073741824);\n```",null,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[5,"volume_list","","Lists all available volume names.\n# Failures\nWill return None if the Volume list command failed or if volume could not be transformed\ninto a String from utf8",null,{"inputs":[],"output":{"name":"option"}}],[5,"volume_info","","Returns a Volume with all available information on the volume\n# Failures\nWill return GlusterError if the command failed to run.",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"get_quota_usage","","Returns a u64 representing the bytes used on the volume.\nNote: This uses my brand new RPC library. Some bugs may exist so use caution. This does not\nshell out and therefore should be significantly faster. It also suffers far less hang conditions\nthan the CLI version.\n# Failures\nWill return GlusterError if the RPC fails",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"quota_list","","Return a list of quotas on the volume if any",null,{"inputs":[{"name":"str"}],"output":{"name":"option"}}],[5,"volume_enable_quotas","","Enable quotas on the volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"volume_disable_quotas","","Disable quotas on the volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"volume_add_quota","","Adds a size quota to the volume and path.\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"pathbuf"},{"name":"u64"}],"output":{"name":"result"}}],[5,"ok_to_remove","","Based on the replicas or erasure bits that are still available in the volume this will return\nTrue or False as to whether you can remove a Brick. This should be called before volume_remove_brick()",null,{"inputs":[{"name":"str"},{"name":"brick"}],"output":{"name":"result"}}],[5,"volume_remove_brick","","This will remove a brick from the volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"vec"},{"name":"bool"}],"output":{"name":"result"}}],[5,"volume_add_brick","","This adds a new brick to the volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"vec"},{"name":"bool"}],"output":{"name":"result"}}],[5,"volume_start","","Once a volume is created it needs to be started. This starts the volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"bool"}],"output":{"name":"result"}}],[5,"volume_stop","","This stops a running volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"bool"}],"output":{"name":"result"}}],[5,"volume_delete","","This deletes a stopped volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"}],"output":{"name":"result"}}],[5,"volume_rebalance","","This function doesn't do anything yet. It is a place holder because volume_rebalance\nis a long running command and I haven't decided how to poll for completion yet",null,{"inputs":[{"name":"str"}],"output":null}],[5,"volume_create_replicated","","This creates a new replicated volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"usize"},{"name":"transport"},{"name":"vec"},{"name":"bool"}],"output":{"name":"result"}}],[5,"volume_create_striped","","This creates a new striped volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"usize"},{"name":"transport"},{"name":"vec"},{"name":"bool"}],"output":{"name":"result"}}],[5,"volume_create_striped_replicated","","This creates a new striped and replicated volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"usize"},{"name":"usize"},{"name":"transport"},{"name":"vec"},{"name":"bool"}],"output":{"name":"result"}}],[5,"volume_create_distributed","","This creates a new distributed volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"transport"},{"name":"vec"},{"name":"bool"}],"output":{"name":"result"}}],[5,"volume_create_erasure","","This creates a new erasure coded volume\n# Failures\nWill return GlusterError if the command fails to run",null,{"inputs":[{"name":"str"},{"name":"usize"},{"name":"usize"},{"name":"transport"},{"name":"vec"},{"name":"bool"}],"output":{"name":"result"}}],[11,"fmt","","",4,null],[11,"to_string","","Convert a GlusterError into a String representation.",4,null],[11,"from","","",4,{"inputs":[{"name":"error"}],"output":{"name":"glustererror"}}],[11,"from","","",4,{"inputs":[{"name":"fromutf8error"}],"output":{"name":"glustererror"}}],[11,"from","","",4,{"inputs":[{"name":"parseerror"}],"output":{"name":"glustererror"}}],[11,"from","","",4,{"inputs":[{"name":"addrparseerror"}],"output":{"name":"glustererror"}}],[11,"from","","",4,{"inputs":[{"name":"parseinterror"}],"output":{"name":"glustererror"}}],[11,"from","","",4,{"inputs":[{"name":"parseboolerror"}],"output":{"name":"glustererror"}}],[11,"from","","",4,{"inputs":[{"name":"error"}],"output":{"name":"glustererror"}}],[11,"from","","",4,{"inputs":[{"name":"error"}],"output":{"name":"glustererror"}}],[11,"to_string","","Returns a String representation of the selected enum variant.",0,null],[11,"fmt","","",0,null],[11,"eq","","",5,null],[11,"hash","","",5,null],[11,"clone","","",5,null],[11,"fmt","","",5,null],[11,"new","","Create a new State object from a &str",5,{"inputs":[{"name":"str"}],"output":{"name":"state"}}],[11,"to_string","","Return a string representation of the State",5,null],[11,"fmt","","",1,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"clone","","",2,null],[11,"fmt","","",2,null],[11,"clone","","",6,null],[11,"fmt","","",6,null],[11,"eq","","",7,null],[11,"hash","","",7,null],[11,"clone","","",7,null],[11,"fmt","","",7,null],[11,"fmt","","",8,null],[11,"new","","Constructs a new VolumeType from a &str",8,{"inputs":[{"name":"str"}],"output":{"name":"volumetype"}}],[11,"from_str","","Returns a enum variant of the given String.",8,{"inputs":[{"name":"str"}],"output":{"name":"volumetype"}}],[11,"to_string","","Returns a String representation of the selected enum variant.",8,null],[11,"fmt","","",3,null]],"paths":[[3,"Brick"],[3,"Quota"],[3,"Peer"],[3,"Volume"],[4,"GlusterError"],[4,"State"],[4,"Transport"],[4,"VolumeTranslator"],[4,"VolumeType"]]}; initSearch(searchIndex);