本文整理汇总了Golang中github.com/Symantec/Dominator/lib/srpc.Conn.WriteString方法的典型用法代码示例。如果您正苦于以下问题:Golang Conn.WriteString方法的具体用法?Golang Conn.WriteString怎么用?Golang Conn.WriteString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/Symantec/Dominator/lib/srpc.Conn
的用法示例。
在下文中一共展示了Conn.WriteString方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: ListImages
func (t *srpcType) ListImages(conn *srpc.Conn) error {
for _, name := range t.imageDataBase.ListImages() {
if _, err := conn.WriteString(name + "\n"); err != nil {
return err
}
}
_, err := conn.WriteString("\n")
return err
}
示例2: CheckObjects
func (t *srpcType) CheckObjects(conn *srpc.Conn,
request objectserver.CheckObjectsRequest,
reply *objectserver.CheckObjectsResponse) error {
sizes, err := t.objectServer.CheckObjects(request.Hashes)
if err != nil {
_, err = conn.WriteString(err.Error() + "\n")
return err
}
reply.ObjectSizes = sizes
return nil
}
示例3: sendRequests
func sendRequests(conn *srpc.Conn, filenames []string) error {
for _, filename := range filenames {
if _, err := conn.WriteString(filename + "\n"); err != nil {
return err
}
}
if _, err := conn.WriteString("\n"); err != nil {
return err
}
return conn.Flush()
}
示例4: Poll
func (t *rpcType) Poll(conn *srpc.Conn) error {
defer conn.Flush()
var request sub.PollRequest
var response sub.PollResponse
decoder := gob.NewDecoder(conn)
if err := decoder.Decode(&request); err != nil {
_, err = conn.WriteString(err.Error() + "\n")
return err
}
if _, err := conn.WriteString("\n"); err != nil {
return err
}
response.NetworkSpeed = t.networkReaderContext.MaximumSpeed()
response.CurrentConfiguration = t.getConfiguration()
t.rwLock.RLock()
response.FetchInProgress = t.fetchInProgress
response.UpdateInProgress = t.updateInProgress
if t.lastFetchError != nil {
response.LastFetchError = t.lastFetchError.Error()
}
if !t.updateInProgress {
if t.lastUpdateError != nil {
response.LastUpdateError = t.lastUpdateError.Error()
}
response.LastUpdateHadTriggerFailures = t.lastUpdateHadTriggerFailures
}
response.LastSuccessfulImageName = t.lastSuccessfulImageName
t.rwLock.RUnlock()
response.StartTime = startTime
response.PollTime = time.Now()
response.ScanCount = t.fileSystemHistory.ScanCount()
response.DurationOfLastScan = t.fileSystemHistory.DurationOfLastScan()
response.GenerationCount = t.fileSystemHistory.GenerationCount()
fs := t.fileSystemHistory.FileSystem()
if fs != nil &&
!request.ShortPollOnly &&
request.HaveGeneration != t.fileSystemHistory.GenerationCount() {
response.FileSystemFollows = true
}
encoder := gob.NewEncoder(conn)
if err := encoder.Encode(response); err != nil {
return err
}
if response.FileSystemFollows {
if err := fs.FileSystem.Encode(conn); err != nil {
return err
}
if err := fs.ObjectCache.Encode(conn); err != nil {
return err
}
}
return nil
}
示例5: Poll
func (t *rpcType) Poll(conn *srpc.Conn) error {
defer conn.Flush()
t.pollLock.Lock()
defer t.pollLock.Unlock()
var request sub.PollRequest
var response sub.PollResponse
decoder := gob.NewDecoder(conn)
if err := decoder.Decode(&request); err != nil {
_, err = conn.WriteString(err.Error() + "\n")
return err
}
if _, err := conn.WriteString("\n"); err != nil {
return err
}
response.NetworkSpeed = t.networkReaderContext.MaximumSpeed()
t.rwLock.RLock()
response.FetchInProgress = t.fetchInProgress
response.UpdateInProgress = t.updateInProgress
response.LastUpdateHadTriggerFailures = t.lastUpdateHadTriggerFailures
t.rwLock.RUnlock()
response.GenerationCount = t.fileSystemHistory.GenerationCount()
fs := t.fileSystemHistory.FileSystem()
if fs != nil &&
request.HaveGeneration != t.fileSystemHistory.GenerationCount() {
response.FileSystemFollows = true
}
encoder := gob.NewEncoder(conn)
if err := encoder.Encode(response); err != nil {
return err
}
if response.FileSystemFollows {
if err := fs.FileSystem.Encode(conn); err != nil {
return err
}
if err := fs.ObjectCache.Encode(conn); err != nil {
return err
}
}
return nil
}
示例6: Update
func (t *rpcType) Update(conn *srpc.Conn) error {
var request sub.UpdateRequest
var response sub.UpdateResponse
decoder := gob.NewDecoder(conn)
if err := decoder.Decode(&request); err != nil {
_, err = conn.WriteString(err.Error() + "\n")
return err
}
if err := t.update(request, &response); err != nil {
_, err = conn.WriteString(err.Error() + "\n")
return err
}
if _, err := conn.WriteString("\n"); err != nil {
return err
}
return gob.NewEncoder(conn).Encode(response)
}
示例7: Cleanup
func (t *rpcType) Cleanup(conn *srpc.Conn) error {
defer conn.Flush()
var request sub.CleanupRequest
var response sub.CleanupResponse
decoder := gob.NewDecoder(conn)
if err := decoder.Decode(&request); err != nil {
_, err = conn.WriteString(err.Error() + "\n")
return err
}
if err := t.cleanup(request, &response); err != nil {
_, err = conn.WriteString(err.Error() + "\n")
return err
}
if _, err := conn.WriteString("\n"); err != nil {
return err
}
return gob.NewEncoder(conn).Encode(response)
}
示例8: DeleteImage
func (t *srpcType) DeleteImage(conn *srpc.Conn) error {
defer conn.Flush()
var request imageserver.DeleteImageRequest
var response imageserver.DeleteImageResponse
decoder := gob.NewDecoder(conn)
if err := decoder.Decode(&request); err != nil {
_, err = conn.WriteString(err.Error() + "\n")
return err
}
if err := t.deleteImage(request, &response); err != nil {
_, err = conn.WriteString(err.Error() + "\n")
return err
}
if _, err := conn.WriteString("\n"); err != nil {
return err
}
return gob.NewEncoder(conn).Encode(response)
}