本文整理匯總了Golang中github.com/cloudfoundry-incubator/garden/warden.Container.NetIn方法的典型用法代碼示例。如果您正苦於以下問題:Golang Container.NetIn方法的具體用法?Golang Container.NetIn怎麽用?Golang Container.NetIn使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/cloudfoundry-incubator/garden/warden.Container
的用法示例。
在下文中一共展示了Container.NetIn方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
err = container.Stop(false)
Ω(err).ShouldNot(HaveOccurred())
Ω(fakeConnection.Stopped("some-handle")).Should(BeEmpty())
Ω(otherFakeConnection.Stopped("some-handle")).ShouldNot(BeEmpty())
})
})
})
Describe("NetIn", func() {
It("sends a net in request", func() {
fakeConnection.WhenNetInning = func(handle string, hostPort, containerPort uint32) (uint32, uint32, error) {
return 111, 222, nil
}
hostPort, containerPort, err := container.NetIn(123, 456)
Ω(err).ShouldNot(HaveOccurred())
Ω(hostPort).Should(Equal(uint32(111)))
Ω(containerPort).Should(Equal(uint32(222)))
Ω(fakeConnection.NetInned("some-handle")).Should(ContainElement(
fake_connection.NetInSpec{
HostPort: 123,
ContainerPort: 456,
},
))
})
Context("when the request fails", func() {
disaster := errors.New("oh no!")
示例2:
restartServer()
newContainer, err := client.Create(warden.ContainerSpec{})
Expect(err).ToNot(HaveOccurred())
infoB, err := newContainer.Info()
Expect(err).ToNot(HaveOccurred())
Expect(infoA.HostIP).ToNot(Equal(infoB.HostIP))
Expect(infoA.ContainerIP).ToNot(Equal(infoB.ContainerIP))
})
})
Describe("a container's mapped port", func() {
It("does not get reused", func() {
netInAHost, netInAContainer, err := container.NetIn(0, 0)
Expect(err).ToNot(HaveOccurred())
restartServer()
containerB, err := client.Create(warden.ContainerSpec{})
Expect(err).ToNot(HaveOccurred())
netInBHost, netInBContainer, err := containerB.NetIn(0, 0)
Expect(err).ToNot(HaveOccurred())
Expect(netInAHost).ToNot(Equal(netInBHost))
Expect(netInAContainer).ToNot(Equal(netInBContainer))
})
})