77 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import { ChannelCredentials } from './channel-credentials';
 | 
						|
import { ChannelOptions } from './channel-options';
 | 
						|
import { ServerSurfaceCall } from './server-call';
 | 
						|
import { ConnectivityState } from './connectivity-state';
 | 
						|
import type { ChannelRef } from './channelz';
 | 
						|
import { Call } from './call-interface';
 | 
						|
import { Deadline } from './deadline';
 | 
						|
/**
 | 
						|
 * An interface that represents a communication channel to a server specified
 | 
						|
 * by a given address.
 | 
						|
 */
 | 
						|
export interface Channel {
 | 
						|
    /**
 | 
						|
     * Close the channel. This has the same functionality as the existing
 | 
						|
     * grpc.Client.prototype.close
 | 
						|
     */
 | 
						|
    close(): void;
 | 
						|
    /**
 | 
						|
     * Return the target that this channel connects to
 | 
						|
     */
 | 
						|
    getTarget(): string;
 | 
						|
    /**
 | 
						|
     * Get the channel's current connectivity state. This method is here mainly
 | 
						|
     * because it is in the existing internal Channel class, and there isn't
 | 
						|
     * another good place to put it.
 | 
						|
     * @param tryToConnect If true, the channel will start connecting if it is
 | 
						|
     *     idle. Otherwise, idle channels will only start connecting when a
 | 
						|
     *     call starts.
 | 
						|
     */
 | 
						|
    getConnectivityState(tryToConnect: boolean): ConnectivityState;
 | 
						|
    /**
 | 
						|
     * Watch for connectivity state changes. This is also here mainly because
 | 
						|
     * it is in the existing external Channel class.
 | 
						|
     * @param currentState The state to watch for transitions from. This should
 | 
						|
     *     always be populated by calling getConnectivityState immediately
 | 
						|
     *     before.
 | 
						|
     * @param deadline A deadline for waiting for a state change
 | 
						|
     * @param callback Called with no error when a state change, or with an
 | 
						|
     *     error if the deadline passes without a state change.
 | 
						|
     */
 | 
						|
    watchConnectivityState(currentState: ConnectivityState, deadline: Date | number, callback: (error?: Error) => void): void;
 | 
						|
    /**
 | 
						|
     * Get the channelz reference object for this channel. A request to the
 | 
						|
     * channelz service for the id in this object will provide information
 | 
						|
     * about this channel.
 | 
						|
     */
 | 
						|
    getChannelzRef(): ChannelRef;
 | 
						|
    /**
 | 
						|
     * Create a call object. Call is an opaque type that is used by the Client
 | 
						|
     * class. This function is called by the gRPC library when starting a
 | 
						|
     * request. Implementers should return an instance of Call that is returned
 | 
						|
     * from calling createCall on an instance of the provided Channel class.
 | 
						|
     * @param method The full method string to request.
 | 
						|
     * @param deadline The call deadline
 | 
						|
     * @param host A host string override for making the request
 | 
						|
     * @param parentCall A server call to propagate some information from
 | 
						|
     * @param propagateFlags A bitwise combination of elements of grpc.propagate
 | 
						|
     *     that indicates what information to propagate from parentCall.
 | 
						|
     */
 | 
						|
    createCall(method: string, deadline: Deadline, host: string | null | undefined, parentCall: ServerSurfaceCall | null, propagateFlags: number | null | undefined): Call;
 | 
						|
}
 | 
						|
export declare class ChannelImplementation implements Channel {
 | 
						|
    private internalChannel;
 | 
						|
    constructor(target: string, credentials: ChannelCredentials, options: ChannelOptions);
 | 
						|
    close(): void;
 | 
						|
    getTarget(): string;
 | 
						|
    getConnectivityState(tryToConnect: boolean): ConnectivityState;
 | 
						|
    watchConnectivityState(currentState: ConnectivityState, deadline: Date | number, callback: (error?: Error) => void): void;
 | 
						|
    /**
 | 
						|
     * Get the channelz reference object for this channel. The returned value is
 | 
						|
     * garbage if channelz is disabled for this channel.
 | 
						|
     * @returns
 | 
						|
     */
 | 
						|
    getChannelzRef(): ChannelRef;
 | 
						|
    createCall(method: string, deadline: Deadline, host: string | null | undefined, parentCall: ServerSurfaceCall | null, propagateFlags: number | null | undefined): Call;
 | 
						|
}
 |