idc

package
v0.0.0-...-b63aa1a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2019 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterService

func RegisterService(s giraffe_micro.Server, srv Service)

Types

type Client

type Client interface {
	GetIDC(ctx context.Context, in *GetIDCRequest) (*GetIDCResponse, error)
	ListIDC(ctx context.Context, in *ListIDCRequest) (*ListIDCResponse, error)
}

Client is the client API for idc service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.

func NewClient

func NewClient(c giraffe_micro.Client) Client

type GetIDCRequest

type GetIDCRequest struct {
	//
	//机房ID
	IdcId                string   `protobuf:"bytes,1,opt,name=idcId,proto3" json:"idcId" form:"idcId"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

GetIDC请求

func (*GetIDCRequest) Descriptor

func (*GetIDCRequest) Descriptor() ([]byte, []int)

func (*GetIDCRequest) GetIdcId

func (m *GetIDCRequest) GetIdcId() string

func (*GetIDCRequest) ProtoMessage

func (*GetIDCRequest) ProtoMessage()

func (*GetIDCRequest) Reset

func (m *GetIDCRequest) Reset()

func (*GetIDCRequest) String

func (m *GetIDCRequest) String() string

func (*GetIDCRequest) Validate

func (this *GetIDCRequest) Validate() error

func (*GetIDCRequest) XXX_DiscardUnknown

func (m *GetIDCRequest) XXX_DiscardUnknown()

func (*GetIDCRequest) XXX_Marshal

func (m *GetIDCRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetIDCRequest) XXX_Merge

func (m *GetIDCRequest) XXX_Merge(src proto.Message)

func (*GetIDCRequest) XXX_Size

func (m *GetIDCRequest) XXX_Size() int

func (*GetIDCRequest) XXX_Unmarshal

func (m *GetIDCRequest) XXX_Unmarshal(b []byte) error

type GetIDCResponse

type GetIDCResponse struct {
	//
	//机柜列表
	Racks []*GetIDCResponse_Racks `protobuf:"bytes,1,rep,name=racks,proto3" json:"racks" form:"racks"`
	//
	//机房ID
	InstanceId string `protobuf:"bytes,2,opt,name=instanceId,proto3" json:"instanceId" form:"instanceId"`
	//
	//机房名称
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name" form:"name"`
	//
	//楼层号
	Building string `protobuf:"bytes,4,opt,name=building,proto3" json:"building" form:"building"`
	//
	//简称
	Shortname string `protobuf:"bytes,5,opt,name=shortname,proto3" json:"shortname" form:"shortname"`
	//
	//值班电话
	Telphone string `protobuf:"bytes,6,opt,name=telphone,proto3" json:"telphone" form:"telphone"`
	//
	//区域,如1F01
	Area string `protobuf:"bytes,7,opt,name=area,proto3" json:"area" form:"area"`
	//
	//机房地址,如华北机房
	Address string `protobuf:"bytes,8,opt,name=address,proto3" json:"address" form:"address"`
	//
	//机房布局,用json保存二维数组[[{instanceId, type, code}]]
	Layout string `protobuf:"bytes,9,opt,name=layout,proto3" json:"layout" form:"layout"`
	//
	//机房创建时间
	Ctime string `protobuf:"bytes,10,opt,name=ctime,proto3" json:"ctime" form:"ctime"`
	//
	//机房创建者
	Creator              string   `protobuf:"bytes,11,opt,name=creator,proto3" json:"creator" form:"creator"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

GetIDC返回

func (*GetIDCResponse) Descriptor

func (*GetIDCResponse) Descriptor() ([]byte, []int)

func (*GetIDCResponse) GetAddress

func (m *GetIDCResponse) GetAddress() string

func (*GetIDCResponse) GetArea

func (m *GetIDCResponse) GetArea() string

func (*GetIDCResponse) GetBuilding

func (m *GetIDCResponse) GetBuilding() string

func (*GetIDCResponse) GetCreator

func (m *GetIDCResponse) GetCreator() string

func (*GetIDCResponse) GetCtime

func (m *GetIDCResponse) GetCtime() string

func (*GetIDCResponse) GetInstanceId

func (m *GetIDCResponse) GetInstanceId() string

func (*GetIDCResponse) GetLayout

func (m *GetIDCResponse) GetLayout() string

func (*GetIDCResponse) GetName

func (m *GetIDCResponse) GetName() string

func (*GetIDCResponse) GetRacks

func (m *GetIDCResponse) GetRacks() []*GetIDCResponse_Racks

func (*GetIDCResponse) GetShortname

func (m *GetIDCResponse) GetShortname() string

func (*GetIDCResponse) GetTelphone

func (m *GetIDCResponse) GetTelphone() string

func (*GetIDCResponse) ProtoMessage

func (*GetIDCResponse) ProtoMessage()

func (*GetIDCResponse) Reset

func (m *GetIDCResponse) Reset()

func (*GetIDCResponse) String

func (m *GetIDCResponse) String() string

func (*GetIDCResponse) Validate

func (this *GetIDCResponse) Validate() error

func (*GetIDCResponse) XXX_DiscardUnknown

func (m *GetIDCResponse) XXX_DiscardUnknown()

func (*GetIDCResponse) XXX_Marshal

func (m *GetIDCResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetIDCResponse) XXX_Merge

func (m *GetIDCResponse) XXX_Merge(src proto.Message)

func (*GetIDCResponse) XXX_Size

func (m *GetIDCResponse) XXX_Size() int

func (*GetIDCResponse) XXX_Unmarshal

func (m *GetIDCResponse) XXX_Unmarshal(b []byte) error

type GetIDCResponseWrapper

type GetIDCResponseWrapper struct {
	//
	//返回码
	Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code" form:"code"`
	//
	//返回码解释
	CodeExplain string `protobuf:"bytes,2,opt,name=codeExplain,proto3" json:"codeExplain" form:"codeExplain"`
	//
	//错误详情
	Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error" form:"error"`
	//
	//返回数据
	Data                 *GetIDCResponse `protobuf:"bytes,4,opt,name=data,proto3" json:"data" form:"data"`
	XXX_NoUnkeyedLiteral struct{}        `json:"-"`
	XXX_unrecognized     []byte          `json:"-"`
	XXX_sizecache        int32           `json:"-"`
}

GetIDCApi返回

func (*GetIDCResponseWrapper) Descriptor

func (*GetIDCResponseWrapper) Descriptor() ([]byte, []int)

func (*GetIDCResponseWrapper) GetCode

func (m *GetIDCResponseWrapper) GetCode() int32

func (*GetIDCResponseWrapper) GetCodeExplain

func (m *GetIDCResponseWrapper) GetCodeExplain() string

func (*GetIDCResponseWrapper) GetData

func (m *GetIDCResponseWrapper) GetData() *GetIDCResponse

func (*GetIDCResponseWrapper) GetError

func (m *GetIDCResponseWrapper) GetError() string

func (*GetIDCResponseWrapper) ProtoMessage

func (*GetIDCResponseWrapper) ProtoMessage()

func (*GetIDCResponseWrapper) Reset

func (m *GetIDCResponseWrapper) Reset()

func (*GetIDCResponseWrapper) String

func (m *GetIDCResponseWrapper) String() string

func (*GetIDCResponseWrapper) Validate

func (this *GetIDCResponseWrapper) Validate() error

func (*GetIDCResponseWrapper) XXX_DiscardUnknown

func (m *GetIDCResponseWrapper) XXX_DiscardUnknown()

func (*GetIDCResponseWrapper) XXX_Marshal

func (m *GetIDCResponseWrapper) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetIDCResponseWrapper) XXX_Merge

func (m *GetIDCResponseWrapper) XXX_Merge(src proto.Message)

func (*GetIDCResponseWrapper) XXX_Size

func (m *GetIDCResponseWrapper) XXX_Size() int

func (*GetIDCResponseWrapper) XXX_Unmarshal

func (m *GetIDCResponseWrapper) XXX_Unmarshal(b []byte) error

type GetIDCResponse_Racks

type GetIDCResponse_Racks struct {
	//
	//设备数量
	DeviceCount int32 `protobuf:"varint,1,opt,name=deviceCount,proto3" json:"deviceCount" form:"deviceCount"`
	//
	//最大连续可用U数
	MaxuSize int32 `protobuf:"varint,2,opt,name=maxuSize,proto3" json:"maxuSize" form:"maxuSize"`
	//
	//关联产品线
	Products []string `protobuf:"bytes,3,rep,name=products,proto3" json:"products" form:"products"`
	//
	//关联的客户
	Customers []string `protobuf:"bytes,4,rep,name=customers,proto3" json:"customers" form:"customers"`
	//
	//是否包含单电源设备
	HasSinglePowerDevice bool `protobuf:"varint,5,opt,name=hasSinglePowerDevice,proto3" json:"hasSinglePowerDevice" form:"hasSinglePowerDevice"`
	//
	//是否有配置错误,如U位冲突,U位数值错误
	IsMisConfigured bool `protobuf:"varint,6,opt,name=isMisConfigured,proto3" json:"isMisConfigured" form:"isMisConfigured"`
	//
	//机柜ID
	InstanceId string `protobuf:"bytes,7,opt,name=instanceId,proto3" json:"instanceId" form:"instanceId"`
	//
	//机柜名称
	Name string `protobuf:"bytes,8,opt,name=name,proto3" json:"name" form:"name"`
	//
	//机柜编号
	Code string `protobuf:"bytes,9,opt,name=code,proto3" json:"code" form:"code"`
	//
	//机柜状态
	Status string `protobuf:"bytes,10,opt,name=status,proto3" json:"status" form:"status"`
	//
	//机柜类型
	Type string `protobuf:"bytes,11,opt,name=type,proto3" json:"type" form:"type"`
	//
	//机柜U数
	Unum int32 `protobuf:"varint,12,opt,name=unum,proto3" json:"unum" form:"unum"`
	//
	//空闲U位数
	FreeUnum int32 `protobuf:"varint,13,opt,name=freeUnum,proto3" json:"freeUnum" form:"freeUnum"`
	//
	//备注
	Memo string `protobuf:"bytes,14,opt,name=memo,proto3" json:"memo" form:"memo"`
	//
	//机柜部局
	Layout []*GetIDCResponse_Racks_Layout `protobuf:"bytes,15,rep,name=layout,proto3" json:"layout" form:"layout"`
	//
	//创建时间
	Ctime string `protobuf:"bytes,16,opt,name=ctime,proto3" json:"ctime" form:"ctime"`
	//
	//创建者
	Creator              string   `protobuf:"bytes,17,opt,name=creator,proto3" json:"creator" form:"creator"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*GetIDCResponse_Racks) Descriptor

func (*GetIDCResponse_Racks) Descriptor() ([]byte, []int)

func (*GetIDCResponse_Racks) GetCode

func (m *GetIDCResponse_Racks) GetCode() string

func (*GetIDCResponse_Racks) GetCreator

func (m *GetIDCResponse_Racks) GetCreator() string

func (*GetIDCResponse_Racks) GetCtime

func (m *GetIDCResponse_Racks) GetCtime() string

func (*GetIDCResponse_Racks) GetCustomers

func (m *GetIDCResponse_Racks) GetCustomers() []string

func (*GetIDCResponse_Racks) GetDeviceCount

func (m *GetIDCResponse_Racks) GetDeviceCount() int32

func (*GetIDCResponse_Racks) GetFreeUnum

func (m *GetIDCResponse_Racks) GetFreeUnum() int32

func (*GetIDCResponse_Racks) GetHasSinglePowerDevice

func (m *GetIDCResponse_Racks) GetHasSinglePowerDevice() bool

func (*GetIDCResponse_Racks) GetInstanceId

func (m *GetIDCResponse_Racks) GetInstanceId() string

func (*GetIDCResponse_Racks) GetIsMisConfigured

func (m *GetIDCResponse_Racks) GetIsMisConfigured() bool

func (*GetIDCResponse_Racks) GetLayout

func (*GetIDCResponse_Racks) GetMaxuSize

func (m *GetIDCResponse_Racks) GetMaxuSize() int32

func (*GetIDCResponse_Racks) GetMemo

func (m *GetIDCResponse_Racks) GetMemo() string

func (*GetIDCResponse_Racks) GetName

func (m *GetIDCResponse_Racks) GetName() string

func (*GetIDCResponse_Racks) GetProducts

func (m *GetIDCResponse_Racks) GetProducts() []string

func (*GetIDCResponse_Racks) GetStatus

func (m *GetIDCResponse_Racks) GetStatus() string

func (*GetIDCResponse_Racks) GetType

func (m *GetIDCResponse_Racks) GetType() string

func (*GetIDCResponse_Racks) GetUnum

func (m *GetIDCResponse_Racks) GetUnum() int32

func (*GetIDCResponse_Racks) ProtoMessage

func (*GetIDCResponse_Racks) ProtoMessage()

func (*GetIDCResponse_Racks) Reset

func (m *GetIDCResponse_Racks) Reset()

func (*GetIDCResponse_Racks) String

func (m *GetIDCResponse_Racks) String() string

func (*GetIDCResponse_Racks) Validate

func (this *GetIDCResponse_Racks) Validate() error

func (*GetIDCResponse_Racks) XXX_DiscardUnknown

func (m *GetIDCResponse_Racks) XXX_DiscardUnknown()

func (*GetIDCResponse_Racks) XXX_Marshal

func (m *GetIDCResponse_Racks) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetIDCResponse_Racks) XXX_Merge

func (m *GetIDCResponse_Racks) XXX_Merge(src proto.Message)

func (*GetIDCResponse_Racks) XXX_Size

func (m *GetIDCResponse_Racks) XXX_Size() int

func (*GetIDCResponse_Racks) XXX_Unmarshal

func (m *GetIDCResponse_Racks) XXX_Unmarshal(b []byte) error

type GetIDCResponse_Racks_Layout

type GetIDCResponse_Racks_Layout struct {
	//
	//设备ID
	InstanceId string `protobuf:"bytes,1,opt,name=instanceId,proto3" json:"instanceId" form:"instanceId"`
	//
	//设备类型(host,switch,router,firewall,disable)
	Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type" form:"type"`
	//
	//起始U位
	StartU int32 `protobuf:"varint,3,opt,name=startU,proto3" json:"startU" form:"startU"`
	//
	//占用U位
	OccupiedU            int32    `protobuf:"varint,4,opt,name=occupiedU,proto3" json:"occupiedU" form:"occupiedU"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*GetIDCResponse_Racks_Layout) Descriptor

func (*GetIDCResponse_Racks_Layout) Descriptor() ([]byte, []int)

func (*GetIDCResponse_Racks_Layout) GetInstanceId

func (m *GetIDCResponse_Racks_Layout) GetInstanceId() string

func (*GetIDCResponse_Racks_Layout) GetOccupiedU

func (m *GetIDCResponse_Racks_Layout) GetOccupiedU() int32

func (*GetIDCResponse_Racks_Layout) GetStartU

func (m *GetIDCResponse_Racks_Layout) GetStartU() int32

func (*GetIDCResponse_Racks_Layout) GetType

func (m *GetIDCResponse_Racks_Layout) GetType() string

func (*GetIDCResponse_Racks_Layout) ProtoMessage

func (*GetIDCResponse_Racks_Layout) ProtoMessage()

func (*GetIDCResponse_Racks_Layout) Reset

func (m *GetIDCResponse_Racks_Layout) Reset()

func (*GetIDCResponse_Racks_Layout) String

func (m *GetIDCResponse_Racks_Layout) String() string

func (*GetIDCResponse_Racks_Layout) Validate

func (this *GetIDCResponse_Racks_Layout) Validate() error

func (*GetIDCResponse_Racks_Layout) XXX_DiscardUnknown

func (m *GetIDCResponse_Racks_Layout) XXX_DiscardUnknown()

func (*GetIDCResponse_Racks_Layout) XXX_Marshal

func (m *GetIDCResponse_Racks_Layout) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*GetIDCResponse_Racks_Layout) XXX_Merge

func (m *GetIDCResponse_Racks_Layout) XXX_Merge(src proto.Message)

func (*GetIDCResponse_Racks_Layout) XXX_Size

func (m *GetIDCResponse_Racks_Layout) XXX_Size() int

func (*GetIDCResponse_Racks_Layout) XXX_Unmarshal

func (m *GetIDCResponse_Racks_Layout) XXX_Unmarshal(b []byte) error

type ListIDCRequest

type ListIDCRequest struct {
	//
	//页码
	Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page" form:"page"`
	//
	//每页数据量
	PageSize             int32    `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size" form:"page_size"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

ListIDC请求

func (*ListIDCRequest) Descriptor

func (*ListIDCRequest) Descriptor() ([]byte, []int)

func (*ListIDCRequest) GetPage

func (m *ListIDCRequest) GetPage() int32

func (*ListIDCRequest) GetPageSize

func (m *ListIDCRequest) GetPageSize() int32

func (*ListIDCRequest) ProtoMessage

func (*ListIDCRequest) ProtoMessage()

func (*ListIDCRequest) Reset

func (m *ListIDCRequest) Reset()

func (*ListIDCRequest) String

func (m *ListIDCRequest) String() string

func (*ListIDCRequest) Validate

func (this *ListIDCRequest) Validate() error

func (*ListIDCRequest) XXX_DiscardUnknown

func (m *ListIDCRequest) XXX_DiscardUnknown()

func (*ListIDCRequest) XXX_Marshal

func (m *ListIDCRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ListIDCRequest) XXX_Merge

func (m *ListIDCRequest) XXX_Merge(src proto.Message)

func (*ListIDCRequest) XXX_Size

func (m *ListIDCRequest) XXX_Size() int

func (*ListIDCRequest) XXX_Unmarshal

func (m *ListIDCRequest) XXX_Unmarshal(b []byte) error

type ListIDCResponse

type ListIDCResponse struct {
	//
	//页数
	Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page" form:"page"`
	//
	//页大小
	PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size" form:"page_size"`
	//
	//总数
	Total int32 `protobuf:"varint,3,opt,name=total,proto3" json:"total" form:"total"`
	//
	//数据列表
	List                 []*idcmanager.IDC `protobuf:"bytes,4,rep,name=list,proto3" json:"list" form:"list"`
	XXX_NoUnkeyedLiteral struct{}          `json:"-"`
	XXX_unrecognized     []byte            `json:"-"`
	XXX_sizecache        int32             `json:"-"`
}

ListIDC返回

func (*ListIDCResponse) Descriptor

func (*ListIDCResponse) Descriptor() ([]byte, []int)

func (*ListIDCResponse) GetList

func (m *ListIDCResponse) GetList() []*idcmanager.IDC

func (*ListIDCResponse) GetPage

func (m *ListIDCResponse) GetPage() int32

func (*ListIDCResponse) GetPageSize

func (m *ListIDCResponse) GetPageSize() int32

func (*ListIDCResponse) GetTotal

func (m *ListIDCResponse) GetTotal() int32

func (*ListIDCResponse) ProtoMessage

func (*ListIDCResponse) ProtoMessage()

func (*ListIDCResponse) Reset

func (m *ListIDCResponse) Reset()

func (*ListIDCResponse) String

func (m *ListIDCResponse) String() string

func (*ListIDCResponse) Validate

func (this *ListIDCResponse) Validate() error

func (*ListIDCResponse) XXX_DiscardUnknown

func (m *ListIDCResponse) XXX_DiscardUnknown()

func (*ListIDCResponse) XXX_Marshal

func (m *ListIDCResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ListIDCResponse) XXX_Merge

func (m *ListIDCResponse) XXX_Merge(src proto.Message)

func (*ListIDCResponse) XXX_Size

func (m *ListIDCResponse) XXX_Size() int

func (*ListIDCResponse) XXX_Unmarshal

func (m *ListIDCResponse) XXX_Unmarshal(b []byte) error

type ListIDCResponseWrapper

type ListIDCResponseWrapper struct {
	//
	//返回码
	Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code" form:"code"`
	//
	//返回码解释
	CodeExplain string `protobuf:"bytes,2,opt,name=codeExplain,proto3" json:"codeExplain" form:"codeExplain"`
	//
	//错误详情
	Error string `protobuf:"bytes,3,opt,name=error,proto3" json:"error" form:"error"`
	//
	//返回数据
	Data                 *ListIDCResponse `protobuf:"bytes,4,opt,name=data,proto3" json:"data" form:"data"`
	XXX_NoUnkeyedLiteral struct{}         `json:"-"`
	XXX_unrecognized     []byte           `json:"-"`
	XXX_sizecache        int32            `json:"-"`
}

ListIDCApi返回

func (*ListIDCResponseWrapper) Descriptor

func (*ListIDCResponseWrapper) Descriptor() ([]byte, []int)

func (*ListIDCResponseWrapper) GetCode

func (m *ListIDCResponseWrapper) GetCode() int32

func (*ListIDCResponseWrapper) GetCodeExplain

func (m *ListIDCResponseWrapper) GetCodeExplain() string

func (*ListIDCResponseWrapper) GetData

func (*ListIDCResponseWrapper) GetError

func (m *ListIDCResponseWrapper) GetError() string

func (*ListIDCResponseWrapper) ProtoMessage

func (*ListIDCResponseWrapper) ProtoMessage()

func (*ListIDCResponseWrapper) Reset

func (m *ListIDCResponseWrapper) Reset()

func (*ListIDCResponseWrapper) String

func (m *ListIDCResponseWrapper) String() string

func (*ListIDCResponseWrapper) Validate

func (this *ListIDCResponseWrapper) Validate() error

func (*ListIDCResponseWrapper) XXX_DiscardUnknown

func (m *ListIDCResponseWrapper) XXX_DiscardUnknown()

func (*ListIDCResponseWrapper) XXX_Marshal

func (m *ListIDCResponseWrapper) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ListIDCResponseWrapper) XXX_Merge

func (m *ListIDCResponseWrapper) XXX_Merge(src proto.Message)

func (*ListIDCResponseWrapper) XXX_Size

func (m *ListIDCResponseWrapper) XXX_Size() int

func (*ListIDCResponseWrapper) XXX_Unmarshal

func (m *ListIDCResponseWrapper) XXX_Unmarshal(b []byte) error

type Service

type Service interface {
	GetIDC(context.Context, *GetIDCRequest) (*GetIDCResponse, error)
	ListIDC(context.Context, *ListIDCRequest) (*ListIDCResponse, error)
}

Service is the server API for idc service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL