本文整理汇总了Golang中github.com/cloudfoundry-incubator/garden.Container.LimitBandwidth方法的典型用法代码示例。如果您正苦于以下问题:Golang Container.LimitBandwidth方法的具体用法?Golang Container.LimitBandwidth怎么用?Golang Container.LimitBandwidth使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/cloudfoundry-incubator/garden.Container
的用法示例。
在下文中一共展示了Container.LimitBandwidth方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ApplyLimits
func (b *LinuxBackend) ApplyLimits(container garden.Container, limits garden.Limits) error {
if limits.CPU != (garden.CPULimits{}) {
if err := container.LimitCPU(limits.CPU); err != nil {
return err
}
}
if limits.Disk != (garden.DiskLimits{}) {
if err := container.LimitDisk(limits.Disk); err != nil {
return err
}
}
if limits.Bandwidth != (garden.BandwidthLimits{}) {
if err := container.LimitBandwidth(limits.Bandwidth); err != nil {
return err
}
}
if limits.Memory != (garden.MemoryLimits{}) {
if err := container.LimitMemory(limits.Memory); err != nil {
return err
}
}
return nil
}
示例2:
fakeConnection.StreamOutReturns(nil, disaster)
})
It("returns the error", func() {
_, err := container.StreamOut(garden.StreamOutSpec{
Path: "from",
})
Ω(err).Should(Equal(disaster))
})
})
})
Describe("LimitBandwidth", func() {
It("sends a limit bandwidth request", func() {
err := container.LimitBandwidth(garden.BandwidthLimits{
RateInBytesPerSecond: 1,
})
Ω(err).ShouldNot(HaveOccurred())
handle, limits := fakeConnection.LimitBandwidthArgsForCall(0)
Ω(handle).Should(Equal("some-handle"))
Ω(limits).Should(Equal(garden.BandwidthLimits{RateInBytesPerSecond: 1}))
})
Context("when the request fails", func() {
disaster := errors.New("oh no!")
BeforeEach(func() {
fakeConnection.LimitBandwidthReturns(garden.BandwidthLimits{}, disaster)
})
示例3:
It("returns an error", func() {
_, err := container.StreamOut("/src/path")
Ω(err).Should(HaveOccurred())
})
})
})
Describe("limiting bandwidth", func() {
It("sets the container's bandwidth limits", func() {
setLimits := garden.BandwidthLimits{
RateInBytesPerSecond: 123,
BurstRateInBytesPerSecond: 456,
}
err := container.LimitBandwidth(setLimits)
Ω(err).ShouldNot(HaveOccurred())
Ω(fakeContainer.LimitBandwidthArgsForCall(0)).Should(Equal(setLimits))
})
itResetsGraceTimeWhenHandling(func() {
err := container.LimitBandwidth(garden.BandwidthLimits{
RateInBytesPerSecond: 123,
BurstRateInBytesPerSecond: 456,
})
Ω(err).ShouldNot(HaveOccurred())
})
itFailsWhenTheContainerIsNotFound(func() error {
return container.LimitBandwidth(garden.BandwidthLimits{